Ajoutez ce code au début du fichier source qui lira le CSV
. 6
Créer un objet fichier , qui va lire les données , en utilisant le code suivant :
FILE * pInput ;
7
créer une zone tampon de caractère suffisamment grande pour contenir une la ligne de l' image à la fois. En raison des contraintes de la langue , la façon la plus simple de le faire est de déclarer un tableau de caractères d'une taille suffisamment grande , comme :
# define BUFFER_SIZE 1024
char buf [ BUFFER_SIZE ] ;
8
Ouvrez le fichier avec le code suivant, et l'assigner à votre objet de fichier créé précédemment :
pInput = fopen ( "nom de fichier ", " r")
Photos 9
Lire dans une ligne du fichier en utilisant le code suivant :
fgets ( buf, sizeof ( buf ) , pInput )
10
analyser le CSV à l'aide la fonction " strtok " . Créer une nouvelle chaîne de caractères pour pointer vers les jetons , et l'initialiser avec les données de la ligne de lecture en haut:
char * tok = strtok ( buf, ",")
11
Convertir le jeton reçu dans les données appropriées. Utilisation de la ligne d' exemple:
1 , "test" , 3,45
convertir les données contenues dans « tok » en entier en utilisant le code suivant :
row.col1 = atoi ( TdC) ;
12
Pour les lectures suivantes sur la même ligne, passer " strtok " un paramètre NULL à la place de la chaîne de tampon que vous lisez en avant :
tok = strtok ( NULL, ",")
Ensuite, convertir le jeton pour le type de données approprié . En utilisant l'exemple en ligne
1 , "test" , 3,45
Le code d'analyse pour une seule ligne serait:
char * tok = strtok ( buf, "," ) ;
row.col1 = atoi ( TdC) ;
tok = strtok ( NULL, " " ) ;
row.col2 = tok ;
< p> tok = strtok ( NULL, " " ) ;
row.col3 = atof ( TdC) ;
13
Faites ceci pour toutes les entrées de chaque ligne de l' CSV. La fonction " strtok " continuera à fournir les données entre les valeurs par des virgules jusqu'à épuisement des données dans la mémoire tampon , à quel point il retournera NULL . Ceci indique que vous avez terminé avec la ligne.