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

Problema Escrevendo em Arquivo txt + Struct


@GustavoHSL

Pergunta

Estou comecando no C, e não consegui achar como faz para escrever os dados que já estao gravados na struct.

estou tentando escrever um programa que escreve ate 30 nomes em um arquivo txt.

ate agora tenho isso:

#include <stdio.h>

#include <stdlib.h>

struct nomeSobrenome{

int nome;

}

int main()

{

FILE *arq;

int i;

arq = fopen("teste.txt", "w");

for(i=0,i<30,i++){

printf(" Nome completo : ");

gets(nomeSobrenome.nome);

}

return 0;

}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olha... Mudei teu programinha, tenta entender e qualquer coisa pergunta.

#include <stdio.h>
#include <stdlib.h>
struct nomeSobrenome{
  char nome[50];
};
int main()
{
  FILE *arq;
  int i;
  struct nomeSobrenome pessoa;
  arq = fopen("teste.txt", "w");
  for(i=0;i<30;i++){
    printf(" Nome completo : ");
    fgets(pessoa.nome, 50, stdin);
    fprintf(arq, "%s", pessoa.nome);
  }
  fclose(arq);
  return 0;
}

Outro detalhe, nesse caso estamos salvando a string num arquivo texto. Quando voce quiser salver uma struct use entrada e saida binaria para arquivos ao invés de texto. fwrite() e fread() fazem E/S binarias.

Ateh!

Link para o comentário
Compartilhar em outros sites

  • 0
entendi como a string foi gravada,

mas, na linha

fgets(pessoa.nome, 50, stdin);
é sempre usado stdin pra gravar no arquivo?
então, não (heheh....). é assim, stdin le a entrada padrão, a principio o teclado. Essa linha le o que o usuario digita. A linha que grava é a linha"
fprintf(arq, "%s", pessoa.nome);

como fica a funcao com entrada e saida binaria?

Tem que usar a fopen com o parametro "wb" ao invés do "w" usando fwrite() (<--- nesse link tem um exemplo).

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...