2017-01-13 1 views
-2

Je tente d'analyser (éventuellement en utilisant fgets) 6 chaînes différentes à partir de la même ligne dans un fichier auquel le programme accède. i utilisé le struct suivant pour tenir les 6 chaînes différentes:Analyse de plusieurs chaînes à partir de la même ligne dans un fichier (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]; 

si quelqu'un pouvait me aider sur ce que je peux faire pour balayer 1 ligne d'un fichier, et il sera 3 cordes et 3 chiffres que je peux assigner à chacune des valeurs de la structure.

+1

l'utilisation 'fgets()' de lire une ligne, le 'sscanf()' 'ou strtok()' à analyser dans des champs séparés. – Barmar

+0

Vous * avez * utilisé 'scanf' avant? Utilisez-le simplement pour lire toutes les chaînes et les nombres avec une chaîne de format. –

+0

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

Répondre

0

Lire fichier ligne par ligne à l'aide -

fgets() or getline 

(getline() n'est pas portable Sa seule pour l'application à base de Linux.)

ligne Parse en utilisant -

strtok or strtok_r or sscanf 

Convertir la chaîne analysée en In Teger de

atoi