Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);
}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
>
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 main()
{
void Incluir()
{
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.:
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?