[C]Tableau de chaine de caract

maxou -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
j'ai besoin d une petite aide :
Comment faireun tableau contenant des chaines de caracteres en C ??
Merci

2 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Voilà 2 exemples

    1. Initialisation du tableau lors de la déclaration
    #include <stdio.h>
    #define NBMOIS 12
    
    int main()
    {
      int i;
      char *mois[NBMOIS]={ "janvier",
                           "fevrier",
    		       "mars",
    		       "avril",
    		       "mai",
    		       "juin",
    		       "juillet",
    		       "aout",
    		       "septembre",
    		       "octobre",
    		       "novembre",
    		       "decembre"};
    
      for(i=0;i<NBMOIS;i++)
        printf("%s\n",mois[i]);
    
      return 0;
    }

    2. Remplir le tableau à la demande
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define NBMOIS 12
    #define LONG_MAX 20
    
    int main()
    {
      int i,j,quitter=0;
      char **mois, nom[LONG_MAX];
    
      mois=malloc(NBMOIS * sizeof(char *));
    
    /* Remplissage du tableau */
      for(i=0;i<NBMOIS && (! quitter);i++)
      {
        printf("Entre le mois numéro %d ( fin pour quitter ) : ",i+1);
        scanf("%s",nom);
        quitter=((strcmp(nom,"fin"))==0);
        
        if(! quitter)
        {
          *(mois+i)=malloc(strlen(nom)+1);
          strcpy(*(mois+i),nom);
          j=i+1;
        }
      }
    /* Affichage du tableau */
      printf("\n--- Les mois ---\n\n");
      for(i=0;i<j;i++)
        printf("Mois %d : %s\n",i+1,mois[i]);
      
      return 0;
    }
    0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bien, lami20j :-)
    0