[c++] Probleme avec getchar()
Thecanardwc44
Messages postés
147
Statut
Membre
-
Peps -
Peps -
Salutations
Je voudrais savoir quel est l'équivalent de getchar pour les chaines de caracteres?
Merci
Je voudrais savoir quel est l'équivalent de getchar pour les chaines de caracteres?
Merci
12 réponses
-
-
Salut.
Méfiance avec gets, il ne controle pas les débordements de buffer.
fgets est plus sûr.
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD -
fgets il fait lecture dans un fichier non?
gets suffit de faire un bon malloc avant....
De toutes manieres moi pour une recup de chaine de caractere de taille inconnue je passait par un getc() + liste chainée ensuite un beau malloc et hop une chaine toute propre...
COIN! -
Esxuser moi je prog en C pas en C++.
Est-il possible de faire afficher les codes ASCII de la chaine de caracteres saisi?
Merci-
-
-
-
le meme avé les commentaires ...
//tu recuperes la taille de ta chaine de caractere que tu considere comme un tableau
taille=strlen(tab);
//tu choisis une variable pour faire ta boucle
index=0;
//tu fais une boucle jusqu'au dernier element de ton tableau
while(index<taille)
//tu affiches chacun de tes elements en incrementant ta variable de boucle
printf("caractere saisi : %c\n",tab[index++]);
Bon Courage !
JSS -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Thecanardwc44, je t'ai pas croisé quelque part sous le pseudo de Paul_Poul par hasard ?
BOOM !
Laissez se propager l'onde de choc... -
Moi, je mettrai plutot "%d" dans printf, sinon tu affiche le caractère, pas le code ASCII, et il faut aussi mettre "unsigned char" comme type, ou ajouter 128 (ou 127 je sais plus) à la valeur ainsi obtenue. Ne pas oublier que char est un type "int" plus petit et 'déguisé'
Salutation !
Char Snipeur -
Dsolé onde2choc ca devai pas etre moi, mon seul otre pseudo c'est royal_couscous spécial garniture (seulement quand ca passe)
Merci a tous pour votre aide -
J'ai encore un probleme:
Voici mon code:
char str[30]; printf("Tapez une phrase"); gets(str); printf("Votre phrase : %s",str); JUSQUE LA CA VA printf("Votre phrase en ASCII: %d",str);
Mai au lieu d'afficher les codes il me met un nombre a la con qui ne varie pas.
OU EST LE PROB????
En fait je veux faire un prog qui enregistre les codes ASCII e la phrase et qui puisse les modifier(additions...)
Aidez-moi encore un peu -
Hello !
%d, %x... sont, par convention, utilisés pour indiquer à printf, scanf... qu'ils doivent interpréter l'argument correspondant comme un entier. Tu peux donc les utiliser pour les variables de type compatible comme int, short...
Pour ton besoin, imprime caractère par caractère les éléments de ta chaine :
int I;
for (I = 0; I < strlen(str);)
printf("%2x\n", str[I++]);
Take care !
PS : gets ? hou ! Quelle hérésie ! ;) -
en fait, char est un type entier (int) mais ton str est un tableau.
Donc normalement, si j'ai bien tout compris au tableau et aux pointeurs, ton programme affiche l'adresse du pointeur (c'est pas un pléonasme ça?) et non le code ASCII. Tu n'as pas d'autre solution que d'afficher le caractère un à un. ça existe ++ en [C], je croyai que ça n'existait qu'en [C++] et que c'est meme de la que viendrai le nom...(c loin les cours où on m'avait expliquer ça...)
Salutation !
Char Snipeur -
++ et -- sont deux opérateurs unaires car ils ne requièrent qu'une seule variable pour travailler... De plus ils sont superutiles je trouve ! C++ est appelé ainsi car c'est une version du C "incrémentée" de quelques nouveaux opérateurs et fonctions (en plus du nouveau principe de POO).
BOOM !
Laissez se propager l'onde de choc... -
salut tous
je suis une débutante en c
moi aussi jé dé probléme avec le getchar
en fait je voudrais savoir la différence entre cette fonction et le scanf?????