bom dia!
estou tentando salvar os dados de uma struct em um arquivo txt...
Se for só um campo blz. eu gravo.. agora como concatenar tudo? Supondo que a minha struct tem os campos nome, ra, idade, sexo. ?
Abraços

Concatenar Campos De Uma Struct ?
Started By danilodepolli, 07/10/2005, 10:55
3 replies to this topic
#1
Posted 07/10/2005, 10:55
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br
#2
Posted 10/10/2005, 11:36
Posta o pedaço do código pra analisar melhor.. já tentou usar a função strcat???bom dia!
estou tentando salvar os dados de uma struct em um arquivo txt...
Se for só um campo blz. eu gravo.. agora como concatenar tudo? Supondo que a minha struct tem os campos nome, ra, idade, sexo. ?
Abraços
"Buscai o Reino de Deus e o resto virá por acréscimo de misericórdia!!" By Mateus
"Quanto mais sei, mais sei que nada sei" By Sócrates
"O pior câncer é o EGOÍSMO!!" By Anônimo
"A Tecnologia é boa, mas deixa as pessoas EGOÍSTAS!!" By Anônimo
"Quanto mais sei, mais sei que nada sei" By Sócrates
"O pior câncer é o EGOÍSMO!!" By Anônimo
"A Tecnologia é boa, mas deixa as pessoas EGOÍSTAS!!" By Anônimo
#3
Posted 10/10/2005, 12:00
#include<stdio.h> #include<stdlib.h> #include<string.h> struct alunos { char nome[50]; char ra[12]; int idade; }; void ler(struct alunos cad[10]) { int i; char lixo[2]; for(i=0;i<4;i++){ printf("Digite o nome do aluno %d\n",i); fgets(cad[i].nome,50,stdin); printf("digite o ra do aluno %d.\n",i); scanf("%s",cad[i].ra); printf("Digite a idade do aluno %d.\n",i); scanf("%d%c",&cad[i].idade,lixo); } }; main() { struct alunos cad[3]; char str[80]; int i; FILE *fp; if((fp = fopen("arq.txt", "w")) == NULL ){ printf("o arquivo nao pode ser aberto.\n"); exit(1); } ler(cad); i++; for(i=0;i<4;i++){ strcat(cad[i].nome,"\n"); fputs(cad[i].nome, fp); printf("Nomes: %s .\n",cad[i].nome); } }
Fiz dessa forma!
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br
#4
Posted 11/10/2005, 08:08
ve se dessa forma o ajuda:
#include<stdio.h> #include<stdlib.h> #include<string.h> struct alunos { char nome[50]; char ra[12]; int idade; }; void ler(struct alunos cad[10]) { int i; char lixo[2]; for(i=0;i<4;i++){ printf("Digite o nome do aluno %d\n",i); scanf("%s",cad[i].nome);//fgets(cad[i].nome,50,stdin); printf("digite o ra do aluno %d.\n",i); scanf("%s",cad[i].ra); printf("Digite a idade do aluno %d.\n",i); scanf("%d",&cad[i].idade); } }; main() { struct alunos cad[3]; char str[80]; char idade[5]; int i; FILE *fp; if((fp = fopen("arq.txt", "w")) == NULL ){ printf("o arquivo nao pode ser aberto.\n"); exit(1); } ler(cad); i++; for(i=0;i<4;i++) { strcat(cad[i].nome,"\n"); strcat(cad[i].ra,"\n"); sprintf(idade,"%d\n",cad[i].idade); //CONVERTE a idade INT para STR fputs(cad[i].nome, fp); fputs(cad[i].ra, fp); fputs(idade, fp); } }
"Buscai o Reino de Deus e o resto virá por acréscimo de misericórdia!!" By Mateus
"Quanto mais sei, mais sei que nada sei" By Sócrates
"O pior câncer é o EGOÍSMO!!" By Anônimo
"A Tecnologia é boa, mas deixa as pessoas EGOÍSTAS!!" By Anônimo
"Quanto mais sei, mais sei que nada sei" By Sócrates
"O pior câncer é o EGOÍSMO!!" By Anônimo
"A Tecnologia é boa, mas deixa as pessoas EGOÍSTAS!!" By Anônimo
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)