Neste artigo, você encontrará uma lista de exemplos para lidar com operações de entrada / saída de arquivo na programação C.
Para entender todos os programas desta página, você deve ter conhecimento dos seguintes tópicos.
- Matrizes C
- Ponteiros C
- Relação de Array e Pointer
- E / S de arquivo
Exemplos de arquivo C
1. Programa C para ler o nome e as marcas de n número de alunos e armazená-los em um arquivo.
#include 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%dEnter name: ", i+1); scanf("%s", name); printf("Enter marks: "); scanf("%d", &marks); fprintf(fptr,"Name: %s Marks=%d ", name, marks); ) fclose(fptr); return 0; )
2. Programa C para ler o nome e as marcas de n número de alunos e armazená-los em um arquivo. Se o arquivo tiver sido encerrado anteriormente, adicione as informações ao arquivo.
#include 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%dEnter name: ", i+1); scanf("%s", name); printf("Enter marks: "); scanf("%d", &marks); fprintf(fptr,"Name: %s Marks=%d ", name, marks); ) fclose(fptr); return 0; )
3. Programa C para escrever todos os membros de um array de estruturas em um arquivo usando fwrite (). Leia a matriz do arquivo e a exiba na tela.
#include 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: %sHeight: %d", stud2(i).name, stud2(i).height); ) fclose(fptr); )