Langage C - Tableaux de chaines de caracteres

Fred -  
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je débute dans le langage C et j'ai un petit soucis.
En fait, je demande a l'utilisateur de taper une phrase et j'aimerai décomposer cette phrase en mots, pour stocker chaque mot dans une case d'un tableau.
Le problème étant que je ne sais pas combien de mots vont être entrés ni la taille des mots, comment faire?

Merci a tous...

3 réponses

  1. titi
     
    comme bibliothèque il y a la glib disponible sous linux et aparament sous windows
    où il y a une fonction qui fait ce que tu veut : g_strsplit
    1
  2. armasousou Messages postés 1351 Statut Membre 83
     
    Doit bien y avoir une bibliotheque qui te permet de faire un truc du genre :

    If "le caractere que je lit" == "le caractere espace" alors i++

    en utilisant le i comme indice dans ton tableau ^^

    Désolé, mais je peut pas t'en dire beaucoup plus, je programme peu en C
    0
    1. armasousou Messages postés 1351 Statut Membre 83
       
      Par contre ,je suis certains que ce genre de fonction existe, ca y est en Visual basic :)
      0
  3. Fred
     
    Ok, merci quand même a toi^^.

    J'ai vu sur internet que malloc serait surement utile pour moi, mais je ne comprends pas trop comment l'utiliser.
    0
    1. ossamados Messages postés 5 Statut Membre
       
      malloc est utilisé pour allouer de l'espace memoire ; si par exemple on veut allouer un espace mémoire pour 10 caractères (ça veut dire 10 octets "un octet pour chaque caractère") alors l'instruction : T=malloc(10); va faire le nécessaire, à condition que T soit un pointeur déclaré au préalable; le 10 entre les parenthèses c'est pour le nombre d'octets qu'on a besoin.
      Voila un site où toutes les choses sont détaillées:
      https://www.ltam.lu/cours-c/
      0
    2. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      tout à fait, tu dois utiliser malloc.

      en fait, pour un tableau tu dois même plutot utiliser calloc .

      et n'oublie pas de libérer la mémoire allouée à l'aide de free.
      0