יום רביעי, 1 בפברואר 2017

שפת C - טיפול בקבצים

טיפול בקבצים


- תוכנית יכולה לגשת לקבצים אחרים במחשב. לקרוא, ליצור או לשנות אותם.
- כל הפונקציות והקבועים הנוגעים לטיפול בקבצים כלולים בספריית הקלט פלט, הלא היא ספריית stdio.h .
- כל קובץ הוא מבחינתנו struct מסוג FILE (חשוב להקפיד על האותיות הגדולות). לא נפרט מהם שדותיו.


כדי לטפל או ליצור קובץ נצטרך קודם להצביע על הכתובת שלו בזיכרון. כמו כל המצביעים גם המצביע הזה
צריך להיות מאותו הסוג של הקובץ עליו הוא אמור להצביע, היינו מסוג FILE.
(ולא מסוג  "struct FILE", משום ש"FILE" הוא טיפוס שהוגדר כבר  כ "struct FILE" ע"י typedef בספריה stdio.h. -נלמד בהמשך.)


כדי לעבוד עם קובץ, צריך קודם לפתוח אותו. (כך שהוא ירוץ ב RAM של המחשב)
לשם כך משתמשים בפונקציה:
fopen ( __ שם או נתיב__ , __mode__ );
באופן הבא:

#include <stdio.h>
void main( ) {
FILE *fp ;
fp = fopen ( __שם או נתיב__ , __mode__ );
if (fp == NULL) {  // NULL אם פתיחת הקובץ נכשלה המצביע יקבל 
       printf ("Can't open file");
       exit (0);    // stdlib.h בחלק מהמקרים על מנת להשתמש בפקודה הזאת יש להוסיף את הספרייה 
     }
.
.
.
}