Longueur tableau de chaune de caractere

Résolu
Marco59190 Messages postés 2 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 2 juin 2006 - 2 juin 2006 à 15:19
Marco59190 Messages postés 2 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 2 juin 2006 - 2 juin 2006 à 15:43
Salut tout le monde :D


J'ai un petit problème...


J'ai un tableau de chaine de caractère comme par exemple :


char *mot10[] = {"ordinateur","multimedia","processeur","parametres","complement","unilateral","indifferer"};


Comment puis-je faire pour calculer le nombre de chaine de caractère (en gros le nombre de mots) compris dans ce tableau ?


Merci beaucoup à ceux qui pourront m'aider.

8 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 juin 2006 à 15:29
(sizeof mot10 / sizeof *mot10) devrait contenir le nombre d'éléments de mot10, soit le nombre de mots.
En l'occurence, tu devrais peut être déclarer ça en const char* mot10[] si les chaines ne sont pas modifiées
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2006 à 15:28
Bien normalement, cette taille est cencé être déja connue. Sinon à la limite et je dit bien à la limite, si tu est sur que l'endroit où sa taille est calculer n'est pas une fonction et que ce tableau est justement le paramètre de cette fonction et bien tu peut faire ceci:

sizeof(mot10)/4

Mais c'est vraiment à la limite car c'est très imprudent d'utiliser sizeof.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2006 à 15:31
Ha oui aussi. Ça revien au même mais comme ça on est sur de la taille si on change de type de variable (TCHAR par exemple)

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 juin 2006 à 15:31
SAKingdom, non ce n'est imprudent d'utiliser sizeof. mot10 est un tableau, on sait donc bien que sizeof va renvoyer sa taille
sizeof *mot10 à la place de 4 évitera des surprises en 64 bits
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2006 à 15:36
Il est imprudent d'utiliser sizeof si le tableau ce retrouve en paramètre de fonction. Mais dans d'autre circonstance, on peut l'utiliser sans danger(j'espère), je suis bien d'accord avec toi sur ce point.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 juin 2006 à 15:39
J'aime pas le terme imprudent en fait. S'il est en paramètre, c'est sur il va renvoyer la taille d'un pointeur, 4 en général.
Dans ce cas, utiliser sizeof n'est pas une imprudence mais une erreur, car c'est sûr qu'on obtientra un résultat erroné
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2006 à 15:42
A bon désolé. Je vais changer de terme dans ce cas.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Marco59190 Messages postés 2 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 2 juin 2006
2 juin 2006 à 15:43
Je vous remercie beaucoup pour vos réponses, en effet (sizeof mot10 / sizeof *mot10) renvoi bien la longueur du tableau.
0
Rejoignez-nous