שיעור 25: קבצים — כתיבה עם fopen ו-fprintf
כל המשתנים שלנו חיים בזיכרון — וברגע שהתוכנית מסתיימת, הם נעלמים. קבצים פותרים את זה: מידע שנכתב לקובץ נשאר בדיסק גם אחרי שהתוכנית נסגרת. FILE *f = fopen("data.txt", "w"); פותח קובץ לכתיבה, וחובה לבדוק שלא חזר NULL (נתיב שגוי או חוסר הרשאה). fprintf(f, ...) היא התאומה של printf, רק שהיא כותבת לק
הזיכרון הוא לוח מחיק שנמחק בכל ערב; קובץ הוא מחברת. מה שכתבת במחברת מחכה לך גם מחר — אבל אם לא סגרת אותה כמו שצריך (fclose), הדף האחרון עלול ללכת לאיבוד.
- fopen
- פותחת קובץ ומחזירה FILE *. אם הפתיחה נכשלת — מחזירה NULL, ולכן תמיד בודקים.
- מצב פתיחה ("w" / "a")
- "w" פותח לכתיבה ומוחק תוכן קיים; "a" מוסיף בסוף הקובץ בלי למחוק.
- fprintf
- כמו printf אבל הפלט הולך לקובץ: fprintf(f, "x=%d\n", x);.
- fputs
- כותבת מחרוזת פשוטה לקובץ, בלי עיצוב: fputs("hello\n", f);.
- fclose
- מרוקן את החוצץ לדיסק וסוגר את הקובץ. חובה בסוף — כמו free לזיכרון.