4.3 קבצים תרגול
תרגול – עבודה עם קבצים ב־libc¶
תרגיל 1 – כתיבה לקובץ¶
-
כתבו תוכנית ש:
-
פותחת קובץ בשם
output.txtלכתיבה ("w"). -
כותבת לתוכו שלוש שורות שונות בעזרת
fprintf. -
סוגרת את הקובץ.
תרגיל 2 – קריאה מקובץ¶
-
כתבו תוכנית ש:
-
פותחת קובץ בשם
input.txtלקריאה ("r"). -
קוראת בעזרת
fgetsשורה אחת בכל פעם, ומדפיסה אותה למסך עד סוף הקובץ. -
סוגרת את הקובץ.
שימו לב: ודאו שהקובץ
input.txtקיים לפני הריצה, או שתטפלו במקרה שהוא לא קיים (בדקו אםfopenהחזירה NULL).
תרגיל 3 – העתקת תוכן של קובץ¶
-
כתבו תוכנית ש:
-
פותחת קובץ בשם
input.binלקריאה בינארית ("rb") -
פותחת קובץ בשם
copy.binלכתיבה בינארית ("wb") -
קוראת את התוכן ב־chunks של 64 בתים עם
freadוכותבת ליעד עםfwrite -
סוגרת את שני הקבצים
תרגיל 4 – קריאה למיקום מסוים בקובץ¶
-
כתבו תוכנית ש:
-
פותחת קובץ לקריאה בינארית.
-
עושה
fseekל־10 בתים מתחילת הקובץ (SEEK_SET). -
קוראת 5 תווים ומדפיסה אותם כ־char-ים עם
putchar. -
מדפיסה את המיקום שבו הפוינטר נמצא אחרי הקריאה בעזרת
ftell.
תרגיל 5¶
- הסבירו במילים שלכם מה הוא file descriptor (fd)
- מה הוא fd מספר 0 1 ו- 2?
- איזה פיצ'רים יש בפונקציות הקבצים שמתחילות באות f, (בfile pointer-ים) שאין בפונקציות הfile descriptor? הסבירו אותן.