Jump to content
Fórum Script Brasil
  • 0

Problema Escrevendo em Arquivo txt + Struct


@GustavoHSL

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 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...