Baixe o app para aproveitar ainda mais
Leia os materiais offline, sem usar a internet. Além de vários outros recursos!
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include "stdio.h" #define ex1 #ifdef ex1 /* Crie uma função para escrever num arquivo os dados do exercicio 3 de estruturas. (utilize a função 'fputs'). */ int main() { FILE *fopen(); // A função "fopen()" retorna um ponteiro do tipo "FILE". Por isso, tem que fazer esta declaração. FILE *p; // Declara o ponteiro "p" do tipo "FILE" char ch; char i; printf("exemplo_1 \n\n"); printf("abre o arquivo no modo escrita w \n"); if((p = fopen("teste1.txt","w"))== NULL) { printf("erro na abertura do arquivo \n"); exit(0); // Encerra o programa e volta ao sistema operacional. } printf("Escreve 4 caracteres no arquivo teste1 \n"); putc('a', p); putc(66, p); ch = 'e'; putc(ch, p); i = 70; putc(i,p); fclose(p); getchar(); } #endif //#define Capitulo_10_Exercicio_2 #ifdef ex2 /* Escreva uma função para ler do arquivo os dados gravados do exercicio anterior. (utilize as função 'fgets'). */ int main() { FILE *p = fopen("teste4.txt","w"); static char s[] = "teste com variavel"; char a[40]; char b[100]; if(!p) { perror("teste4.txt"); exit(1); } printf("escreve as strings no arquivo teste4\n"); fputs("isto e' um pequeno teste com uma string",p); fputs(s,p); fclose(p); system("pause"); FILE *pRead = fopen("teste4.txt","r"); if(!pRead) { perror("teste4.txt"); exit(1); } printf("le as strings do arquivo teste3\n\n"); fgets(a,40,pRead); fgets(b,100,pRead); printf("escreve as strings lidas na tela\n\n"); puts(a); puts(b); fclose(pRead); } #endif //#define Capitulo_10_Exercicio_3 #ifdef ex3 /* Reescreva as funções de gravação e leitura no arquivo dos exercícios anteriores utilizando as funções 'fwrite e 'fread'. */ int main() { FILE *pWrite, *pRead; pWrite = fopen("teste4.txt","w"); char s[] = "teste com variavel"; char a[40]; char b[100]; if(!pWrite) { perror("teste4.txt"); exit(1); } printf("escreve as strings no arquivo teste4\n"); fwrite("isto e' um pequeno teste com uma string ",41,1,pWrite); fwrite(s,18,1,pWrite); system("pause"); fclose(pWrite); pRead = fopen("teste4.txt", "r"); if(!pRead) { perror("teste4.txt"); exit(1); } int cont = strlen(s); printf("O numero de caracteres do array: %d \n\n",cont); printf("le as strings do arquivo teste4\n\n"); fread(a,40,1,pRead); fread(b,100,1,pRead); printf("escreve as strings lidas na tela\n\n"); puts(a); puts(b); fclose(pRead); } #endif //#define Capitulo_10_Exercicio_4 #ifdef ex4 /* A partir do exercício 6 do capítulo de funções, acrescente as funções de gravação e leitura dos dados em um arquivo. Inclua-os como opções no menu. */ int main() { int comparador = 0; while(comparador != 3) { int retornoResultWrite; printf("Digite a opcao '1' para Ler o arquivo:\n\n"); printf("Digite a opcao '2' para Gravar no arquivo:\n\n"); printf("Digite a opcao '3' para sair do programa:\n\n"); scanf("%d", &comparador); switch(comparador) { case 1: { LeituraDoArquivo(); break; } case 2: { (retornoResultWrite = GravarNoArquivo()) > 0 ? printf("Os dados foram registrados com sucesso!!\n") : printf("Os dados nao foram registrados com sucesso!!\n"); break; } } } } LeituraDoArquivo() { FILE *pRead; char a[40]; pRead = fopen("teste4.txt", "r"); if(!pRead) { perror("teste4.txt"); exit(1); } fread(a,40,1,pRead); puts(a); } GravarNoArquivo() { FILE *pWrite; int resultWrite = 0; pWrite = fopen("teste4.txt","w"); if(!pWrite) { perror("teste4.txt"); exit(1); } fwrite("isto e' um pequeno teste com uma string \n\n",41,1,pWrite); fclose(pWrite); resultWrite = 1; return resultWrite; } #endif //#define Capitulo_10_Exercicio_5 #ifdef ex5 /* Reescreva o programa do exercício anterior fazendo a leitura e escrita de dados no arquivo ao entrar e sair do programa. Retire estas opções do menu. */ #endif //#define Capitulo_10_Exercicio_6 #ifdef ex6 /* Reescreva o programa do exercício anterior retirando o vetor de estruturas deixando apenas uma estrutura simples. Escreva e leia os registros direto no arquivo utilizando apenas esta estrutura. (utilize a função 'fseek'). */ int _tamanhoNome, _tamanhoEnd, _tamanhoIdade; int retornoResultado; char _nome[50]; char _endereco[100]; int _idade; int main() { int comparador = 0; while(comparador != 6) { printf("1 - Inserir novos registros\n"); printf("2 - Ler o arquivo inteiro\n"); printf("3 - Procurar registro\n"); printf("4 - Alterar registro\n"); printf("5 - Apagar registro\n"); printf("6 - Sair\n"); scanf("%d", &comparador); switch(comparador) { case 1: { GravarRegistro(); break; } case 2: { LerArquivo(); break; } case 3: { ProcurarRegistro(); break; } case 4: { AlterarRegistro(); break; } case 5: { ApagarRegistro(); break; } } } } GravarRegistro() { FILE *pWrite; pWrite = fopen("Cadastro.txt","w"); printf("Digite um nome :\n"); scanf("%s", &_nome); printf("Digite um endereco :\n"); scanf("%s", &_endereco); printf("Digite a idade :\n"); scanf("%d", &_idade); _tamanhoNome = strlen(_nome); fwrite(_nome,_tamanhoNome,2,pWrite); fwrite(_endereco, _tamanhoEnd, 2, pWrite); fwrite(_idade, _tamanhoIdade, 2, pWrite); fclose(pWrite); return retornoResultado = 1; } LerArquivo() { FILE *pRead; pRead = fopen("Cadastro.txt", "r"); char a[50]; char b[100]; int c; if(!pRead) { perror("teste4.txt"); exit(1); } fread(a,50,1,pRead); fread(b,100,2,pRead); fread(c,sizeof(_idade),2,pRead); puts(a); puts(b); puts(c); } ProcurarRegistro() { FILE *pSearch; while((fscanf(pSearch, "%s", _nome)) != EOF) { if(!strcmp(_nome, "Nome:") && (fscanf(pSearch, "%s", _nome)) != EOF ) printf("Nome.: %s", _nome); if(!strcmp(_idade, "Idade:") && (fscanf(pSearch, "%s", _idade)) != EOF ) printf("Idade: %d", _idade); } } AlterarRegistro() { } ApagarRegistro() { } #endif
Compartilhar