המצגת נטענת. אנא המתן

המצגת נטענת. אנא המתן

תכנות בשפת C תרגול 11 - קבצים.

מצגות קשורות


מצגת בנושא: "תכנות בשפת C תרגול 11 - קבצים."— תמליל מצגת:

1 תכנות בשפת C תרגול 11 - קבצים

2 קבצים - הקדמה פתיחה וסגירה של קובץ: בתום השימוש יש "לסגור" את הקובץ.
קובץ - אוסף של תווים (במקרה שלנו) ששמור על דיסק כלשהו. ללא קבצים - ברגע שנסגור את התוכנית, כל המידע שהיה לנו בזיכרון נעלם. פתיחה וסגירה של קובץ: לפני שמתחילים להשתמש בקובץ יש "לפתוח" אותו ולהגדיר באיזה אופן נשתמש בו (קריאה, כתיבה מחדש, הוספה וכו'). בתום השימוש יש "לסגור" את הקובץ.

3 קבצים - הקדמה כאשר מבצעים פעולות קריאה או כתיבה על קובץ, המערכת שומרת את המקום בו התבצעה הפעולה האחרונה הפעולה הבאה תמשיך מן המקום שנשמר למשל: כתבנו 20 תווים לקובץ חדש, התו הבא שנכתוב לקובץ יכנס אוטומטית למקום ה-21. ניתן "ללכת אחורה" בקובץ, אך בקורס זה לא נלמד כיצד עושים זאת, לכן אם נרצה לעשות זאת, נסגור את הקובץ ונפתח אותו מחדש לקריאה (ואז נתחיל מתחילתו ונוכל להתקדם עד לאן שנרצה).

4 שאלה 1

5 שאלה 2

6 שאלה 2 - המשך מה יקרה אם לאחר שהרצנו את התוכנית פעם אחת, נשנה את שורה 5.1 באופן הבא: f2=fopen("2.txt","a"); תשובה: בקובץ f2 יופיע התוכן של f1 פעמיים (פעם אחר פעם) כי פתחנו במוד שרשור (append mode).  

7 שאלה 3 שנה את התוכנית כך שתעתיק לקובץ החדש רק שורות שמכילות
יותר מ-5 תווים (זכרו שגם ירידת שורה נובעת מנוכחות התו ‘\n’).

8 שאלה 3

9 שאלה 3 char *fgets(char *str, int len, FILE *stream):
הערות לגבי הפונקציה: char *fgets(char *str, int len, FILE *stream): 1. הפונק' קוראת מהקובץ מחרוזת של תווים באורך len-1 (כלומר ע"מ לקרא N תווים צריך ש- len=N+1). הסיבה: צריך לשמור מקום לתו ‘\0’ . הפונק' מסיימת לקרא תווים מהקובץ כאשר: (א) אחרי שהיא נתקלת בתו ‘\n’ ושמה ב-str (אחריו ולא במקומו כמו בפונק' gets) את התו \0’ . (ב) לאחר שקראה את מס' התווים המבוקש. (ג) לאחר שנתקלה ב-EOF . אם הפונק' הצליחה: היא מחזירה את str, אחרת הפונק' מחזירה NULL (במידה שארתה שגיאה או שהגיעה ל-(EOF . זהירות: הפונק' לא מוודאת שהיא לא דורסת מידע (כאשר היא חורגת מהמקום של str)

10 שאלה 4 כתוב תוכנית אשר מקבלת שני שמות של קבצים ומחזירה 1 אם
הם זהים, 0 אם שונים,-1 אם הייתה שגיאה בפתיחת קובץ.

11 שאלה 4

12 שאלה 4 – תוכנית ראשית

13 שאלה 5 כתוב שתי פונקציות:
אחת מקבלת שם קובץ, מצביע למערך של int-ים ואת אורכו, ושומרת את תוכן המערך בקובץ. השנייה מקבלת שם של קובץ, מצביע למערך של int-ים ואת אורכו, וקוראת את תוכן הקובץ לתוך המערך. כל פונק' תחזיר: -1 אם הייתה שגיאה בפתיחת קובץ, אחרת תחזיר 1.

14 שאלה 5 – פו' כותבת

15 שאלה 5 – פו' קוראת

16 שאלה 5 – תוכנית ראשית


הורד את "ppt "תכנות בשפת C תרגול 11 - קבצים.

מצגות קשורות


מודעות Google