logo

C fprintf() و fscanf()


ملف الكتابة: الدالة fprintf()

يتم استخدام الدالة fprintf() لكتابة مجموعة من الأحرف في الملف. يرسل الإخراج المنسق إلى دفق.

بناء الجملة:

 int fprintf(FILE *stream, const char *format [, argument, ...]) 

مثال:

 #include main(){ FILE *fp; fp = fopen('file.txt', 'w');//opening file fprintf(fp, 'Hello file by fprintf...
');//writing data into file fclose(fp);//closing file } 

قراءة الملف: الدالة fscanf()

يتم استخدام الدالة fscanf() لقراءة مجموعة من الأحرف من الملف. يقرأ كلمة من الملف ويعيد EOF في نهاية الملف.

بناء الجملة:

 int fscanf(FILE *stream, const char *format [, argument, ...]) 

مثال:

 #include main(){ FILE *fp; char buff[255];//creating char array to store data of file fp = fopen('file.txt', 'r'); while(fscanf(fp, '%s', buff)!=EOF){ printf('%s ', buff ); } fclose(fp); } 

انتاج:

 Hello file by fprintf... 

مثال ملف C: تخزين معلومات الموظف

دعونا نرى مثالاً للتعامل مع الملفات لتخزين معلومات الموظف كما أدخلها المستخدم من وحدة التحكم. سنقوم بتخزين هوية الموظف واسمه وراتبه.

 #include void main() { FILE *fptr; int id; char name[30]; float salary; fptr = fopen('emp.txt', 'w+');/* open for writing */ if (fptr == NULL) { printf('File does not exists 
'); return; } printf('Enter the id
'); scanf('%d', &id); fprintf(fptr, 'Id= %d
', id); printf('Enter the name 
'); scanf('%s', name); fprintf(fptr, 'Name= %s
', name); printf('Enter the salary
'); scanf('%f', &salary); fprintf(fptr, 'Salary= %.2f
', salary); fclose(fptr); }

انتاج:

 Enter the id 1 Enter the name sonoo Enter the salary 120000 

الآن افتح الملف من الدليل الحالي. بالنسبة لنظام التشغيل Windows، انتقل إلى دليل TCin، وسترى ملف emp.txt. سيكون لديها المعلومات التالية.

emp.txt

 Id= 1 Name= sonoo Salary= 120000