Trong bài viết này, bạn sẽ tìm thấy danh sách các ví dụ để xử lý các thao tác nhập / xuất tệp trong lập trình C.
Để hiểu tất cả các chương trình trên trang này, bạn nên có kiến thức về các chủ đề sau.
- C Arrays
- C Pointers
- Array and Pointer Relation
- File I/O
Ví dụ về tệp C
1. Chương trình C để đọc tên và điểm của n số học sinh và lưu trữ chúng trong một tệp.
#include <stdio.h>
int main()
{
char name[50];
int marks, i, num;
printf("Enter number of students: ");
scanf("%d", &num);
FILE *fptr;
fptr = (fopen("C:\\student.txt", "w"));
if(fptr == NULL)
{
printf("Error!");
exit(1);
}
for(i = 0; i < num; ++i)
{
printf("For student%d\nEnter name: ", i+1);
scanf("%s", name);
printf("Enter marks: ");
scanf("%d", &marks);
fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
}
fclose(fptr);
return 0;
}
2. Chương trình C để đọc tên và điểm của n số học sinh và lưu trữ chúng trong một tệp. Nếu tệp đã thoát trước đó, hãy thêm thông tin vào tệp.
#include <stdio.h>
int main()
{
char name[50];
int marks, i, num;
printf("Enter number of students: ");
scanf("%d", &num);
FILE *fptr;
fptr = (fopen("C:\\student.txt", "a"));
if(fptr == NULL)
{
printf("Error!");
exit(1);
}
for(i = 0; i < num; ++i)
{
printf("For student%d\nEnter name: ", i+1);
scanf("%s", name);
printf("Enter marks: ");
scanf("%d", &marks);
fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
}
fclose(fptr);
return 0;
}
3. Chương trình C để ghi tất cả các thành viên của một mảng cấu trúc vào một tệp bằng cách sử dụng fwrite(). Đọc mảng từ tệp và hiển thị trên màn hình.
#include <stdio.h>
struct student
{
char name[50];
int height;
};
int main(){
struct student stud1[5], stud2[5];
FILE *fptr;
int i;
fptr = fopen("file.txt","wb");
for(i = 0; i < 5; ++i)
{
fflush(stdin);
printf("Enter name: ");
gets(stud1[i].name);
printf("Enter height: ");
scanf("%d", &stud1[i].height);
}
fwrite(stud1, sizeof(stud1), 1, fptr);
fclose(fptr);
fptr = fopen("file.txt", "rb");
fread(stud2, sizeof(stud2), 1, fptr);
for(i = 0; i < 5; ++i)
{
printf("Name: %s\nHeight: %d", stud2[i].name, stud2[i].height);
}
fclose(fptr);
}