ulfreitas 6 Denunciar post Postado Março 28, 2012 Boa tarde to estudando arquivos e to com um pouco de dificuldade. Eu criei uma struct para cadastrar alunos com nº, nome, curso e duas notas. E uma função Incluir() para cadastrar os dados do aluno em um arquivo, imagino que eu tenha que abrir e fechar o arquivo dentro da função Incluir() certo? Então eu deveria passar (FILE arquivo) como parametro da função? Como ficaria isso? #include <stdio.h> typedef struct { int num; char nome[30], curso[30]; float nota1, nota2; } Aluno; void Incluir(); int main() { FILE *arquivo; Incluir(); return 0; } void Incluir() { Aluno a; arquivo = fopen("Aluno.txt","a+"); printf("Digite o nome: "); fgets(a.nome); fprintf(arquivo,"%s",a.nome); fclose(arq); } Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Março 28, 2012 Boa tarde to estudando arquivos e to com um pouco de dificuldade. Eu criei uma struct para cadastrar alunos com nº, nome, curso e duas notas. E uma função Incluir() para cadastrar os dados do aluno em um arquivo, imagino que eu tenha que abrir e fechar o arquivo dentro da função Incluir() certo? Então eu deveria passar (FILE arquivo) como parametro da função? Como ficaria isso? #include <stdio.h> typedef struct { int num; char nome[30], curso[30]; float nota1, nota2; } Aluno; void Incluir(); int main() { FILE *arquivo; Incluir(); return 0; } void Incluir() { Aluno a; arquivo = fopen("Aluno.txt","a+"); printf("Digite o nome: "); fgets(a.nome); fprintf(arquivo,"%s",a.nome); fclose(arq); } ulfreitas, Se você for manipular o arquivo somente dentro da função não precisa passar como parametro. Declara o FILE, abre e fecha o arquivo tudo dentro da função. Agora se pretende manipular ele em outras funções, podes deixar o FILE como global mesmo. Ex.: FILE *ArquivoLeitura; FILE *ArquivoEscrita; Para ficar facil de identificar qual é o de escrita e qual o de leitura. Se fazer da maneira que postou não funciona pois o "FILE *arquivo" não está no mesmo escopo da função incluir. Era esta sua dúvida? Compartilhar este post Link para o post Compartilhar em outros sites
ulfreitas 6 Denunciar post Postado Março 29, 2012 Entao kra era isso mesmo, eu ate cheguei a fazer o FILE dentro da propria função mas como vou ter váiras funções vou fazer igual você falou declarar externo Obrigado GBecker Compartilhar este post Link para o post Compartilhar em outros sites