کار با فایلها در C
خواندن و نوشتن فایل با fopen، fprintf، fscanf و fclose
کار با فایل در C
تا حالا دادههای برنامه با بستن آن از بین میرفتند. با فایل میتوان دادهها را برای همیشه ذخیره کرد. کتابخانه stdio.h ابزارهای کار با فایل را دارد.
باز کردن فایل — fopen
FILE *fptr = fopen("data.txt", "w");
پارامتر دوم حالت (mode) باز کردن است:
| حالت | توضیح |
|---|---|
"r" | خواندن — فایل باید وجود داشته باشد |
"w" | نوشتن — فایل جدید میسازد، محتوای قبلی پاک میشود! |
"a" | افزودن — به انتهای فایل اضافه میکند |
"r+" | خواندن و نوشتن |
بررسی موفقیت باز کردن
اگر فایل باز نشود، fopen مقدار NULL برمیگرداند:
FILE *fptr = fopen("data.txt", "r");
if (fptr == NULL) {
printf("فایل باز نشد!");
return 1;
}
نوشتن در فایل — fprintf
FILE *fptr = fopen("data.txt", "w");
fprintf(fptr, "Hello File!\n");
fprintf(fptr, "Number: %d", 42);
fclose(fptr); // ⚠️ حتماً ببندید!
خواندن از فایل
روش ۱: fscanf — خواندن کلمه به کلمه
FILE *fptr = fopen("data.txt", "r");
char word[50];
while (fscanf(fptr, "%s", word) != EOF) {
printf("%s\n", word);
}
fclose(fptr);
روش ۲: fgets — خواندن خط به خط
char line[100];
while (fgets(line, sizeof(line), fptr) != NULL) {
printf("%s", line);
}
بستن فایل — fclose
هر فایلی که باز میکنید حتماً ببندید. بستن فایل:
- دادهها را از بافر به دیسک مینویسد
- منابع سیستم را آزاد میکند
نکات مهم
- حالت
"w"محتوای قبلی فایل را پاک میکند — برای اضافه کردن از"a"استفاده کنید - EOF (End Of File) نشانه پایان فایل است
- در محیط Playground ممکن است دسترسی فایل محدود باشد — این مثالها بیشتر برای اجرای محلی مناسباند
این مبحث بخشی از دوره آموزش کامل زبان C است.