Jump to content
Fórum Script Brasil
  • 0

Arquivo.txt PARA uma struct? Comofaz?


Clau Gueno

Question

Pessoal como faço pra carregar um um arquivo.txt pra struct de um programa, pra poder adicionar mais dados????

estou tentanto usar fgets mas não tá dando certo!

struct estrutura contato;
     FILE *arqAgenda;
     int contLivre = livre();//será o índice da posição livre para gravação de novo contato na estrutura;

     fgets(contato, sizeof(struct estrutura),  *arqAgenda);//carrega o arquivo para a estrutura;
(contato

Me ajudem por favor!!! :o :o

**********IGNOREM A ÚLTIMA LINHA DO CÓDIGO!!! NÃO ERA PRA ELA ESTAR ALI!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

AAAAAAAAAHH

Com fscanf deu mais certo...aliás, menos errado

fscanf(FILE *contato, "%s", &arqAgenda);

Só que dá os seguintes erros: "Expected expression before 'FILE' " e "Too few argumentsto function 'fscanf' "

O que será que tá errado??? :\

Link to comment
Share on other sites

  • 0
AAAAAAAAAHH

Com fscanf deu mais certo...aliás, menos errado

fscanf(FILE *contato, "%s", &arqAgenda);
Só que dá os seguintes erros: "Expected expression before 'FILE' " e "Too few argumentsto function 'fscanf' " O que será que tá errado??? :\
Não use a paravra FILE, e nem o asterisco no primeiro parâmetro. O que você fez foi declarar um ponteiro do tipo FILE. O primeiro argumento deve ser um stream, algo como
fscanf(contato, "%s", &arqAgenda);

obs: não sei se vai dar certo

Edited by mJi
Link to comment
Share on other sites

  • 0

Olá Clau Gueno,

acontece que a função fscanf recebe (neste caso) 3 parâmetros:

1 - o ponteiro para o arquivo;

2 - o que será lido e

3 - "para onde" será lido

o correto seria:

fscanf(arqAgenda, "%s", contato.(algo, não sei como você definiu a estrutura));
Mas não vai dar certo. Observe que: -> O arquivo deve estar aberto e ser válido, isto é, o ponteiro (arqAgenda) não pode ser nulo. Parece que você não chegou a abrir nada no arqAgenda. Antes de ler do arquivo, você deve abrí-lo. -> Leitura de string não tem & (E Comercial) na frente do nome da string e quando lendo de arquivo, o primeiro argumento é o arquivo. A construção:
fscanf(contato, "%s", &arqAgenda);

vai apresentar erro (contato é a sua estrutura e não o arquivo).

Dá uma olhada neste site aqui: http://www.cplusplus.com/

Nele você sempre acha os protótipos das funções que precisa!!

Editado: Erro na tag

Edited by tucano
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...