2017-01-13 4 views
-2

Ich versuche zu scannen (vielleicht mit fgets) 6 verschiedene Strings aus derselben Zeile in einer Datei, auf die das Programm zugreift. i verwendet, um die folgende Struktur, die 6 verschiedenen Saiten zu halten:Mehrere Strings aus derselben Zeile in einer Datei scannen (C)

struct _entry { 
    char subject[10]; 
    char prof_name[10]; 
    char prof_surname[10]; 
    int period; 
    int credits; 
    int pass_rate; 
}; 
struct _entry entry[MAX_LINES]; 

wenn mir jemand auf dem, was helfen könnte, ich tun kann, 1 Zeile aus einer Datei zu scannen, und es wird 3 Saiten und 3 Ziffern, die i zuweisen zu jedem der Strukturwerte.

+1

Verwenden 'fgets()' eine Zeile zu lesen, die 'sscanf()' 'oder strtok()', um sie in separate Felder zu analysieren. – Barmar

+0

Sie * haben * vorher 'scanf' benutzt? Verwenden Sie es einfach, um alle Zeichenfolgen und Zahlen mit einer Formatzeichenfolge zu lesen. –

+0

@Someprogrammerdude ** [Verwenden Sie nicht 'scanf'!] (Http://stackoverflow.com/questions/17294809/reading-a-line-using-scanf-not-good) ** –

Antwort

0

lesen Datei Zeile für Zeile mit -

fgets() or getline 

(getline() ist nicht tragbar Es ist nur für Linux-basierte Anwendung.)

Parse Zeile -

strtok or strtok_r or sscanf 

Konvertieren der analysierten Zeichenfolge in In Teger using-

atoi 
Verwandte Themen