פורסם 2012 בפברואר 2013 שנים הפונקצייה מקבל מחרוזת מקובץ טקסט ומדפיסה אותו הפוך ולקובץ טקסט.אני לא מבין את פעולת fseek .מישהו יכול להסביר לי איך זה בדיוק עובד בתכנית הבאה??.void Mirror(FILE *fin,FILE *fout){ long n; fseek(fin,-1,SEEK_END); for(n=ftell(fin);n>=0;n--) { fputc(fgetc(fin),fout); fseek(fin,-2,SEEK_CUR); }}
פורסם 2012 בפברואר 2013 שנים ערוך בבקשה את הכותרת כך שתכיל את תמצית השאלה.כשאתה קורא מקובץ (או כותב אליו) יש מאחורי הקלעים מצביע על המיקום שלך בקובץ, ותוך כדי הקריאה/כתיבה הוא מתקדם.fseek מאפשרת לך להזיז את המצביע הזה. היא מקבלת שלושה פרמטרים: הראשון הוא המצביע לקובץ (fin), השני אומר לאן לזוז, והשלישי אומר ביחס לאיזה מקום בקובץ (יכול לקבל שלושה ערכים: SEEK_SET - ביחס לתחילת הקובץ, SEEK_END - ביחס לסוף הקובץ, ו-SEEK_CUR - ביחס למיקום הנוכחי בקובץ).הקריאה הראשונה ל-fseek אומרת לשנות את המצביע כך שהוא יהיה במקום 1- ביחס לסוף הקובץ (דהיינו, הוא יצביע לתו האחרון בקובץ).הקריאות ל-fseek בתוך הלולאה אומרות לשנות את המצביע כך שהוא יהיה במקום 2- ביחס למיקום הנוכחי בקובץ (דהיינו, שני תווים אחורה מהמיקום הנוכחי).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.