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
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!
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
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
//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...
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
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
Merci a tous pour votre aide
J'ai encore un probleme:
Voici mon code:
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
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 ! ;)
%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
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...
BOOM !
Laissez se propager l'onde de choc...