Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment placer entiers dans l'ordre …
  • Comment sauter d' une fonction d'ann…
  • Comment se connecter à un émulateu…
  • Comment lancer pointeurs de fonction…
  • Comment trier une liste générique 
  • Comment allouer pointeurs 
  • Comment faire pour ajouter des minut…
  • Comment utiliser Alice au Jeux Progr…
  • Comment faire une racine carrée en …
  • Comment exploiter un compilateur Vis…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    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.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment puis- je mettre en œuvre à court temps de retard dans C 
  • Qu'est-ce qu'un EOF dans le langage C 
  • Comment faire pour augmenter la valeur d'un pointeur dans une fonction 
  • Comment: GTK Couleur Sélection 
  • Comment écrire un flux d'entrée dans un flux de sortie 
  • Comment faire un C + + void display 
  • Comment fermer correctement un canal WCF 
  • Comment faire pour utiliser un programme C Comment faire pour vérifier les numéros Armstrong 
  • Comment faire un C + + fenêtre principale sans un titre Bar 
  • Comment compiler du code C comme une bibliothèque 
  • Connaissances Informatiques © http://www.ordinateur.cc