Compteur de lettre

cobra176 Messages postés 86 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 21 janvier 2009 - 4 févr. 2005 à 10:05
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 - 11 févr. 2005 à 23:35
Bonjour


je sais qui exister sur ce site un programme qui compte le nombre de lettre de symbole en C


mais voila 2 heures que je le recherche .


quelqu'un sait ou il est ? sinon quelqu'un a un programme en C qui compte le nombre de lettre et de symbole d'une chaine que l'on indique?

a: 1
b:0
.
.
.
z: 0
>:0

merci de votre aide
A voir également:

15 réponses

anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 1
4 févr. 2005 à 10:57
Si ce que tu veux, c'est la taille de la chaine de caractères, utilise strlen, déclarée dans string.h



Cependant, attention, cette fonction ne prend pas en compte le dernier caractère si c'est un espace.



L'autre solution est de diviser la taille de ta chaine de caractère par la taille de char.
0
cobra176 Messages postés 86 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 21 janvier 2009
4 févr. 2005 à 11:17
c'est pour la demande précedente que j'ai fait que je demande ça
0
cobra176 Messages postés 86 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 21 janvier 2009
4 févr. 2005 à 11:51
tu peut me donner le code en entier

merci d'avant
0
Atmaweapon Messages postés 50 Date d'inscription dimanche 28 décembre 2003 Statut Membre Dernière intervention 11 avril 2006 1
4 févr. 2005 à 13:43
int getTaille(char[] chaine){

/* Chaine non instanciée : on retourne -1 */

if(chaine == NULL) return -1;



/* On parcourt toute la chaine jusqu'à tomber sur un caractere 'fin de chaine' spécifié par \0

unsigned int i=0;

while(chaine[i] != '\0') i++;



/* on retourne la taille */

return i;

}
0

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

Posez votre question
anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 1
4 févr. 2005 à 13:46
#include

#include <stdlib.h>



using namespace std;



int main()

{

char * chaine ;

int nbdecarac ;



chaine = "Bonjour" ;

nbdecarac = strlen (chaine) ;



cout << nbdecarac << "\n" ; // Sort "9"



system("PAUSE");

return 0;

}
0
anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 1
4 févr. 2005 à 13:48
Ha ok je comprends mieux ce que tu voulais mainteant dsl.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 févr. 2005 à 13:48
strlen ne compterait pas le dernier espace, ça vient de sortir...

pour ne pas maintenir 2 variables int, un pointeur suffit:
int GetTaille(char *psz)
{
char *c = psz;
while(*c) c++;
return (c - psz);
}

ciao...
BruNews, MVP VC++
0
anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 1
4 févr. 2005 à 14:05
Ah ben si ... erreur de ma part, dsl !
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
5 févr. 2005 à 14:58
size_t strlen( const char *s )

{

size_t len = 0;



while( s++ )

++len;

return len;

}
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 févr. 2005 à 15:16
manque la deref
while(*s++)....
tout le monde aura compris malgre tout.

ciao...
BruNews, MVP VC++
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
5 févr. 2005 à 15:23
oui, merci !
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
11 févr. 2005 à 10:36
Ca ne choc personne ce truc

char * chaine ;
int nbdecarac ;



chaine = "Bonjour" ;


moi je ferai

char * chaine = "Bonjour"

ou

chaine = (char*)malloc(strlen("Bonjour")+1);




Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 févr. 2005 à 11:00
ben oui, un pointeur peut se voir affecter nimporte quelle adresse, celle de "Bonjour" aussi bien qu'une autre, je ne vois pas le malaise.

ciao...
BruNews, MVP VC++
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
11 févr. 2005 à 11:18
S'il pointe sur une espace alloué

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
11 févr. 2005 à 23:35
non ca ne pause absolument aucun probleme, cependant l'écriture



char *str;



str = "hello";



est obselète car str n'est pas initialisé à la déclaration, et la norme
conseil le const sur les chaines constantes (l'écriture peut faire
planter lee programme).



donc il vaut mieux écrire :



const char *str = "hello";



chaine =
(char*)malloc(strlen("Bonjour")+1); à remplacer par strdup, mais
inutile dans ce cas (de même que le cast de la valeur retour de
malloc er l'appel de strlen sur une chaine constante)
0
Rejoignez-nous