| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment lire un fichier CSV en C
    Beaucoup de produits logiciels qui traitent avec des chiffres et des calculs ont la capacité de données de sortie dans un Comma Separated Value (CSV) du fichier. Ce format peut être un moyen efficace de transporter des données entre différents programmes , comme il est lisible et assez facile à manipuler. Beaucoup de programmes C qui traitent de données aura probablement de lire un fichier CSV à un moment donné . Choses que vous devez
    texte éditeur
    compilateur
    fichier CSV entrée
    Afficher plus Instructions
    1

    Consultez la documentation du programme qui fournit le CSV image. Déterminer le nombre de champs dans chaque ligne , ainsi que le format de chaque champ. Par exemple, si un programme fournit un fichier CSV contenant les données suivantes :

    1 , "test" , 34,5

    Vous marquerait baisse de trois champs : un entier , une chaîne et un nombre à virgule flottante .
    2

    Créer une structure contenant un membre de données pour chaque domaine identifié dans le CSV. En utilisant l'exemple de la ligne 1, à condition , "test" , 34,5 dont vous auriez besoin la structure suivante: struct

    données

    {

    int col1 ;

    char * col2 ;

    flotteur col3 ;

    };
    3

    créer une méthode dans votre programme qui va gérer la lecture du fichier CSV. Ce devra être accessible au reste de votre programme, et devra probablement travailler sur des structures de données communes afin que d'autres méthodes peuvent accéder aux données qui ont été lues po passer le paramètre par référence à éliminer la nécessité d'une valeur de retour . Un prototype de la fonction exemple serait:

    vide ParseCSV ( char * filename , données et entrée) ;
    4

    Inclure l'en-tête IO standard en utilisant le code suivant :

    # include

    Ajoutez ce code au début du fichier source qui lira le CSV.
    5

    inclure la bibliothèque de chaîne pour permettre la manipulation de l' données CSV en utilisant le code suivant :

    # include

    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.

    Previous :

    next :
      articles connexes
    ·Comment faire pour créer un portrait en C + + 
    ·Comment calculer la taille des éléments dans des tamp…
    ·Comment afficher plusieurs colonnes dans GridView 
    ·Que faire avec une erreur Trapped in C 
    ·Comment créer SQLite avec Zend Framework 
    ·Comment gérer la fermeture du navigateur événements …
    ·Comment créer une liste de Vector 
    ·Comment renvoyer un pointeur vers un vecteur 
    ·Comment inverser un numéro en C 
    ·Comment créer un Applet & C + + 
      articles en vedette
    ·Comment utiliser un SWF en VB MDI Form 
    ·Comment créer un site web simple avec PHP 
    ·Comment changer un curseur avec VBA 
    ·Comment obtenir un argument d'entrée ARGV en C + + 
    ·Comment contrôler un shell Unix avec Python 
    ·Comment exécuter Python Bytecode 
    ·Comment faire un projet Web dans Eclipse travail via un…
    ·Comment gérer la fermeture du navigateur événements …
    ·Quelle est la signification de la conversion de la vale…
    ·Comment transmettre des valeurs à une fonction en PHP 
    Copyright © Connaissances Informatiques http://fr.wingwit.com