פורסם 2013 באפריל 1512 שנים לא מבין למה הסתבכת. אתה צריך לעשות seekp לערך שנותן tellp פחות אחד.מה שזה אומר זה לקחת את המצביע מהמקום שהוא נמצא עכשיו צעד אחד אחורה.fstream fs;fs.open("somefile.txt");char x = '';while(!fs.eof()){ c = fs.get(); if (x == 'y') { fs.seekp(fs.tellg() -1); fs.write('z',1); }}
פורסם 2013 באפריל 1512 שנים מחבר תודה אחי, אבל משום מה זה נותן לי עדיין שגיאות שאני עושה קומפילציה.. חח אני אובד עצות כבר, אני יושב על זה כבר שעה ולא מצליח לתקן אותן.
פורסם 2013 באפריל 1512 שנים מחבר #include<iostream>#include<fstream>using namespace std;int main(){fstream fs;fs.open("somefile.txt");char x =' ';while(!fs.eof()){ char c = fs.get(); if (x == 'y') { fs.seekp(fs.tellg() -1); fs.write('z',1); }}return 0; }יש שגיאת קומפילציה ב - fs.seekp(fs.tellg() -1); fs.write('z',1); במה שסימנתי באדום
פורסם 2013 באפריל 1512 שנים אממ, אי אפשר לסמן קוד בצבע. מה השגיאה שאתה מקבל? אתה מצפה שננחש?אה, עכשיו שמתי לב שגיל הטעה אותך.... אל תשתמש ב-write כדי לכתוב תו בודד, תשתמש ב-put כמו שעשית קודם (write מקבלת מערך, לא תו אחד).
פורסם 2013 באפריל 1512 שנים מחבר fs.seekp(fs.tellg()-1); fs.put('z',1);לא ניתן להשים מינוס 1 אחרי ה fs.tellg(), ב fs.put אין אפשרות להשים יותר משני משתנים, כך שהוא לא מקבל את ה "1" אחרי ה "Z"
פורסם 2013 באפריל 1512 שנים אתה בכלל מנסה להבין את הקוד שלך כשאתה כותב אותו? write מקבלת שני פרמטרים, put מקבלת פרמטר אחד, ואמרתי לך להשתמש ב-put כמו שהשתמשת בה קודם, לא כמו שאמורים להשתמש ב-write. ועדיין לא אמרת מה השגיאה שאתה מקבל. רק אמרת שיש שגיאה.
פורסם 2013 באפריל 1712 שנים אני מניח שאתה משתמש ב-Visual Studio, כן? כשהקומפילציה נכשלת, אמורה לקפוץ לך למטה חלונית עם רשימה של שגיאות, משהו שנראה ככה: אם זה לא מופיע, תלחץ על View > Error List.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.