Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ulfreitas

[Resolvido] Função para escrever em Arquivo

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.