שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 אוקי, אתה בכיוון הנכון.שים לב למה שאמרתי: get ו-put מקדמות את המצביע לקובץ ב-1. תחשוב איפה נמצא המצביע לפני שאתה עושה put. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 ואללה אחי אני לא מסתדר עם זה ניסיתי כמה אופציות כדי לעקוב אחרי הפוינטר של ה put(), אבל לא מסתדר לי. יש מצב ליותר עזרה? תודה רבה! קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 אמרתי לך: seekp.נתתי לך לינק לתיעוד שלה. הנה עוד אחד אפילו:http://en.cppreference.com/w/cpp/io/basic_ostream/seekpתחשוב לוגית: אחרי שה-if הצליח, איפה נמצא המצביע של הקובץ? איפה אתה רוצה שהוא ימצא?עריכה: מסתבר שטעיתי קלות. ל-fstream יש שני מצביעים שלא בהכרח זהים זה לזה - מצביע לקריאה ומצביע לכתיבה. בשביל להזיז את המצביעים משתמשים ב-seekp ו-seekg (ה-p זה לכתיבה וה-g זה לקריאה), ובשביל לדעת מה הערכים שלהם משתמשים ב-tellp ו-tellg.עכשיו תחשוב איך אתה משתמש בזה. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 עקבתי אחרי הפוינטר של ה put, אבל ראיתי שהוא מתקדם כמו ה get. אחי אני יודע שאולי אני משגע אותך, אבל יש מצ באולי ממש תוכל לעזור לי בקוד?אני ממש כבר אבוד... תודה קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 תחשוב לוגית: אחרי שה-if הצליח, איפה נמצא המצביע של הקובץ? איפה אתה רוצה שהוא ימצא?ליתר דיוק: איפה נמצאים המצביעים של הקריאה והכתיבה, ואיפה אתה רוצה שיהיו? קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 זה העניין , הם נמצאים בקמום שאני רוצה ( לפי ה tellg ו tellp) אבל משום מה הוא לא עושה לי את ההזנה המבוקשת כמו שצריך... קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 איך אתה יודע שהם נמצאים במקום שאתה רוצה?באיזה מקום הם נמצאים? באיזה מקום נמצא התו שאתה רוצה לשנות? (שים לב שבמחשבים הספירה מתחילה מ-0, לא מ-1).מה התוצאה שאתה מקבל? קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 אני יודע.. חחעקבתי אחרי שני הפוינטרים ( עשיתי להם cout על המסך לכל אורך לולאת ה while ובדקתי), והם נמצאים באותו מקום.. שאני עושה את ההצבה- זה פשוט לא עושה כלום בקובץ..אני באמת לא יודע מה לעשות קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 תעלה את הקוד העדכני. אם לא השתמש ב-seekp ו-tellg יש לך טעות.בכל מקרה, אחרי ה-put גם תוסיף את הקריאה הבאה:nf.flush();זה ידאג לכך שהכתיבה אכן תתבצע והמצביעים יסתנכרנו. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 #include<iostream>#include<string>#include<fstream>using namespace std;int main(){ fstream nf("lamed.txt"); while(!nf.eof()) { char x=nf.get(); if(x=='s') { nf.seekp(nf.tellg()); nf.put('z'); nf.flush(); } }return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 הקוד הזה אמור לשנות את הקובץ (יש בו טעות, אבל הוא כן אמור לשנות את הקובץ). מה התוכן של הקובץ? קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 בעיקרון זה התוכנית הנסיונית שלי, (התרגיל עצמו הרבה יותר ארוך ומסובך). סתם יצרי קובץ עם ה הטקסט הבא- asdasdaqrqwdsaasd';asdוזה היה אמור לשנות את כל ה -s ל -z אבל זה לא משנה. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 אתה בטוח שהקובץ לא פתוח באיזו תוכנה אחרת שנועלת אותו? אולי אתה מסתכל על הקובץ הלא נכון?כמו שאמרתי, הקוד שלך אמור לשנות את הקובץ, פשוט לא בצורה הנכונה. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeldoom פורסם 2013 באפריל 14 מחבר Share פורסם 2013 באפריל 14 מה הכוונה לא בצורה הנכונה? יש מצב תעזור לי לשפץ את הקוד? תודה קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 באפריל 14 Share פורסם 2013 באפריל 14 כל פעם שאתה עושה get זה מקדם את המצביע ב-1. אחרי שאתה קורא את התו 's' אז המצביע בקובץ יצביע לתו הבא אחרי ה-s, ולא ל-s עצמו. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.