Ir para conteúdo
Fórum Script Brasil
  • 0

Arquivo.txt PARA uma struct? Comofaz?


Clau Gueno

Pergunta

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 para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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

Editado por mJi
Link para o comentário
Compartilhar em outros 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

Editado por tucano
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...