לדלג לתוכן

4.3 קבצים תרגול

תרגול – עבודה עם קבצים ב־libc

תרגיל 1 – כתיבה לקובץ

  1. כתבו תוכנית ש:

  2. פותחת קובץ בשם output.txt לכתיבה ("w").

  3. כותבת לתוכו שלוש שורות שונות בעזרת fprintf.

  4. סוגרת את הקובץ.

תרגיל 2 – קריאה מקובץ

  1. כתבו תוכנית ש:

  2. פותחת קובץ בשם input.txt לקריאה ("r").

  3. קוראת בעזרת fgets שורה אחת בכל פעם, ומדפיסה אותה למסך עד סוף הקובץ.

  4. סוגרת את הקובץ.

שימו לב: ודאו שהקובץ input.txt קיים לפני הריצה, או שתטפלו במקרה שהוא לא קיים (בדקו אם fopen החזירה NULL).

תרגיל 3 – העתקת תוכן של קובץ

  1. כתבו תוכנית ש:

  2. פותחת קובץ בשם input.bin לקריאה בינארית ("rb")

  3. פותחת קובץ בשם copy.bin לכתיבה בינארית ("wb")

  4. קוראת את התוכן ב־chunks של 64 בתים עם fread וכותבת ליעד עם fwrite

  5. סוגרת את שני הקבצים

תרגיל 4 – קריאה למיקום מסוים בקובץ

  1. כתבו תוכנית ש:

  2. פותחת קובץ לקריאה בינארית.

  3. עושה fseek ל־10 בתים מתחילת הקובץ (SEEK_SET).

  4. קוראת 5 תווים ומדפיסה אותם כ־char-ים עם putchar.

  5. מדפיסה את המיקום שבו הפוינטר נמצא אחרי הקריאה בעזרת ftell.

תרגיל 5

  • הסבירו במילים שלכם מה הוא file descriptor (fd)
  • מה הוא fd מספר 0 1 ו- 2?
  • איזה פיצ'רים יש בפונקציות הקבצים שמתחילות באות f, (בfile pointer-ים) שאין בפונקציות הfile descriptor? הסבירו אותן.