IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

un tableau de plusieurs chaines de caratères


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Consultant
    Inscrit en
    Mars 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mars 2007
    Messages : 59
    Par défaut un tableau de plusieurs chaines de caratères
    Bonjour,

    J'ai une fonction Lecture_CSV() qui lit un fichier CSV :
    - Avec les fonctions fopen() puis fgets() j'arrive à lire les ligne d'un fichier texte.
    - Puis avec la fonction strtok() a récupérer l'information désiré à chacune des lignes.

    Dans la fonction Lecture_CSV(), j'arrive à imprimer à l'écran les données renvoyer par strtok().
    Mais je n'arrive pas à les stocker dans un tableau de plusieurs chaines de caratères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    		int i=0;
    		char tmp[longeurMot];
    		//tmp=(char *) malloc( longeurMot*sizeof(char));
     
    		while ( fgets( cLigne, size_Ligne, fptr ) != NULL )
    		{
    			char tabDataInput[nbTotalData][longeurMot];
     
    			// lecture du 2ème champ de la chaine de caratère
    			if( cLigne[0] != '#' )
    			{
    				printf("<%i> ", i);
    				strcpy( tmp, tokenElement2(cLigne) );
    				printf(" = %s \n", tmp);
     
                                    // sauvegarde data
    				//tabDataInput[1]=tmp;
    				i++;
    			}
    		}

  2. #2
    Invité
    Invité(e)
    Par défaut
    ne fait pas un tableau de longueurs fixes, mais plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char* montab[nombre_de_strings]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Par défaut
    bonjour
    ou de la realloc :
    void *realloc(void *ptr, size_t size);
    realloc prend en argument le pointeur sur mémoire (ptr) dont il faut modifier la taille, et la nouvelle taille désirée (size). Si lc'est ok realloc returne le pointeur sur la zone mémoire.

  4. #4
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Au moins un problème: il faut utiliser strcpy() pour copier la chaîne tmp dans le tableau de chaînes tabDataInput.
    n'est pas bon.

  5. #5
    Membre confirmé
    Profil pro
    Consultant
    Inscrit en
    Mars 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mars 2007
    Messages : 59
    Par défaut
    Avec un tableau dynamique ca marche bcq mieux

    Merci à tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traitement sur un tableau de chaines de caratères
    Par Anduriel dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/08/2011, 12h26
  2. chaine de caratère et indice de tableau
    Par gigabit32 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 01/03/2011, 09h20
  3. Réponses: 6
    Dernier message: 09/06/2008, 16h35
  4. Réponses: 1
    Dernier message: 08/03/2004, 11h35
  5. Réponses: 23
    Dernier message: 16/11/2002, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo