nrgumn
Messages postés10Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention17 mars 2005
-
5 janv. 2005 à 20:03
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 2007
-
7 janv. 2005 à 19:46
Bonjour,
Je recherche une fonction qui pourrait me donner le premier caractère d'un mot. Si possible une fonction qui me retourne le caractère en question et non pas un pointeur sur ce caractère.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 5 janv. 2005 à 20:19
Soit char mot[200] le mot en question.
mot[0] est le 1er caractère.
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 5 janv. 2005 à 20:41
Ouais une idée :
scanf("%s",&mot); -> Je crois que c'est plutôt scanf("%s", mot); non, pour les chaînes de caractères?
printf("%s",caractere);
-> là par contre c'est printf("%c", caractere); pour afficher un
caractère (sinon t'as putchar(caractere); aussi ^^).
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 6 janv. 2005 à 09:13
char mot[30];
scanf("%s",&mot);
et
scanf("%s",mot);
font la même chose si mot est un tableau statique (taillle connu à la compilation) (mot est déjà un pointeur sur le pemier caractère de la chaîne et faire &mot n'a pas de signification car mot n'est pas une vrai variable mais une constante donnant l'adresse du début du tableau)
Par contre si mot est un pointeur sur le premier caractère d'une chaîne (alouée par malloc ou récupérer par une autre méthode, la première écriture de scanf ne marche pas et fait planter...
char* mot = malloc(30);
ou
char tab[30];
char* mot=tab;
scanf("%s",&mot); => erreur car on donne l'adresse d'un pointeur sur un char* donc un char**
=> conclusion vaut mieux utiliser la 2ème méthode.
avec scanf on trouve églement un autre pb, le dépassement de buffer si on entre trop de caractères, utiliser plutot fgets qui permet de spécifier la taille du buffer
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 7 janv. 2005 à 19:46
Intéressant ça ymca2003, j'en savais rien, merci pr l'info :)
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/