//estuve intentando pero no logre que funcionara me podrían ayudar en como pasar los datos que se encuentren en un archivo a una estructura aqui esta lo que intente
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
typedef struct{
char nombre[100];
char apellido[100];
}datos;
int main(){
FILE *fichero=fopen("archivo.txt","r");
datos dat;
int lugar=0,con=0,posicion=0,repartidor=1;
char *cad;
while(!feof(fichero)){
fgetc(fichero);
con++;
}
cad=(char*)malloc(con);
fseek(fichero,0,SEEK_SET);
fgets(cad,con,fichero);
printf("archivo leido ");
fclose(fichero);
while(cad[posicion]!= '/')
{
if(cad[posicion]!=32)
{
switch(repartidor)
{
case 1:
dat.nombre[lugar]=cad[posicion];
printf("%c",dat.nombre[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
break;
case 2:
dat.apellido[lugar]=cad[posicion];
printf("%c",dat.apellido[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
break;
}
}*/
for(int i=0;i<5;i++){
dat.nombre='a'+i;
}
else
{
lugar=0;
repartidor++;
}
posicion++;
lugar++;
}
printf("\n");
printf("%s\n",dat.nombre);//aqui lo vuelvo a imprimir y me imprime basura
printf("%s\n",dat.apellido);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
typedef struct{
char nombre[100];
char apellido[100];
}datos;
int main(){
FILE *fichero=fopen("archivo.txt","r");
datos dat;
int lugar=0,con=0,posicion=0,repartidor=1;
char *cad;
while(!feof(fichero)){
fgetc(fichero);
con++;
}
cad=(char*)malloc(con);
fseek(fichero,0,SEEK_SET);
fgets(cad,con,fichero);
printf("archivo leido ");
fclose(fichero);
while(cad[posicion]!= '/')
{
if(cad[posicion]!=32)
{
switch(repartidor)
{
case 1:
dat.nombre[lugar]=cad[posicion];
printf("%c",dat.nombre[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
break;
case 2:
dat.apellido[lugar]=cad[posicion];
printf("%c",dat.apellido[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
break;
}
}*/
for(int i=0;i<5;i++){
dat.nombre='a'+i;
}
else
{
lugar=0;
repartidor++;
}
posicion++;
lugar++;
}
printf("\n");
printf("%s\n",dat.nombre);//aqui lo vuelvo a imprimir y me imprime basura
printf("%s\n",dat.apellido);
return 0;
}