Also habe ich diesen Code unten, in meinem Code ich eine Reihe von Filmen in ein Array von Strukturen laden, Jetzt weiß ich das Problem passiert hier (strcpy (Teile [x]. rating, sp) und wie es aussieht, funktioniert der strcpy nicht richtig, kann mir irgendjemand einen Hinweis oder etwas nützliches geben, das ich benutzen kann, um das Problem zu lösen? Ich habe es ohne strcpy versucht, aber es funktioniert auch nicht!Kopieren einer Zeichenfolge in ein Struktur-Array
struct movies
{
char *name;
char *rating;
int time;
float rtwo,rone,rthree;
};
void displayData(movies *);
main()
{
struct movies parts[6];
FILE *fp;
char line[100];
fp=fopen("movies.csv","r");
if (fp == NULL)
{
printf("Could not locate file");
exit(0);
}
char *sp;
int x = 0;
while (fgets(line,100,fp)!=NULL)
{
sp=strtok(line,",");
strcpy(parts[x].name,sp);
sp=strtok(NULL,",");
strcpy(parts[x].rating,sp);
sp=strtok(NULL,",");
sscanf(sp,"%d", &parts[x].time);
sp=strtok(NULL,",");
sscanf(sp,"%f", &parts[x].rone);
sp=strtok(NULL,",");
sscanf(sp,"%f", &parts[x].rtwo);
sp=strtok(NULL,",");
sscanf(sp,"%f", &parts[x].rthree);
++x;
}
fclose(fp);
displayData(parts);
return 0;
}
void displayData(movies *parts)
{
for (int x=0; x < 6 ; ++x)
{
printf("\n Name: %s RATED: %s Time:%d crit: %.1f crit: %.1f crit:
%.0f",parts[x].name,parts[x].rating,parts[x]
.time,parts[x].rone,parts[x].rtwo,pa
rts[x].rthree);
}
}
und ja ich habe #include und alle anderen notwendigen Bibliotheken. –
Es gibt kein Array in Ihrer Struktur! Ein Zeiger ist ** nicht ** ein Array! – Olaf
Gegeben 'Teile [x] .name' ist ein Zeiger, worauf zeigt es? –