פורסם 2007 באוקטובר 3117 שנים למה בכל פעם שאני נכנס ללולאה , הfwrite כותבת לי מעל הקיים במקום בהמשך הקובץ? (גם כשאני שם fseek )(הקובץ נפתח עם הרשאה ab+)while(PP) { //fseek(fpp,0,SEEK_END); fflush(stdin); if(fwrite(PP,sizeof(struct pcourse),1,fpp)!=1) { perror("Can not write to file fp1!"); exit(4); } PP=PAdvance(PP);}
פורסם 2007 בנובמבר 117 שנים בתור התחלה, אתה צריך "+wb" ולא "ab+".חוץ מזה, אחרי שפתחת את הקובץ דלג לקצה עם fseek. תעשה אתה זה פעם אחת ולא כל פעם מחדש בתוך הלולאה.
פורסם 2007 בנובמבר 117 שנים מחבר wb+ עם fseek אל סוף הקובץהוא שקול לab+ שפותח אותו אוטומטית אל סוף הקובץ (אמור לפתוח)במקרה שלי הftell אחרי פתיחת הקובץ עם ab+ מחזירה לי אפס משום מה השאלה אם זה אמור להיות ככה כי הרי a אמור לכתוב בהמשך הקובץ ללא דריסה.
פורסם 2007 בנובמבר 117 שנים מה-man page של fopen:a+Open for reading and appending (writing at end of file). The file is created if it does not exist. The initial file position for reading is at the beginning of the file, but output is always appended to the end of the file.כלומר זה רק עניין של קריאת הקובץ. אתה גם יכול לפתוח את הקובץ עם "ab".
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.