C - Läsa txt-fil till array i struct

Permalänk
Medlem

C - Läsa txt-fil till array i struct

Tjena! Har problem att läsa in en txt-fil med följande innehåll:

Sven,Svensson
Johan,Johansson

Om det är någon som har lust att hjälpa mig så är jag mycket tacksam..!
Tack på förhand!

#include <stdio.h> #include <stdlib.h> #include <string.h> struct person { char fornamn[30]; char efternamn[30]; }; int main() { FILE *file = fopen("test.txt", "r"); int i = 0, len = 0, antal_personer = 0; struct person personer[20]; char rad[100], *ptr; while (!feof(file)) { ptr = strchr(rad + 1, ','); if (ptr != NULL) { len = ptr - rad - 1; strncpy(personer[antal_personer].fornamn, rad + 1, len); personer[antal_personer].fornamn[len] = '\0'; ptr += 1; strncpy(personer[antal_personer].efternamn, rad + 1, len); antal_personer++; } } for (i = 0 ; i < antal_personer ; i++) { printf("Fornamn: %s, Efternamn: %s\n", personer[i].fornamn, personer[i].efternamn); } fclose(file); system("PAUSE"); return 0; }

Permalänk
Medlem

Du öppnar filen och loopar tills du kommit till slutet av den, men du läser ju aldrig in något från filen, dvs. du får väl antagligen en oändlig loop? Jag antar att du vill använda fscanf eller liknande funktioner och faktiskt hämta ut något från filen.

Och ett tips är att säga vad som inte fungerar när du frågar efter hjälp. Det blir så mycket enklare att hjälpa till då än om man ska sitta och gissa vad som inte fungerar.