Char en C++

Résolu
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Admettons que j'ai une chaine de caractere en C++
char name [50]
c'est quoi la difference quand on fait cin>> name[i] et name[i] = getchar() ????
es ce que c'est la memme chose ? les deux sont valides ?
AIDEZ MOI ! LOL
MERCI EN AVANCE

1 réponse

overcode Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Bonsoir,

Est-ce que les deux sont valides ?
Oui. Les deux permettent de saisir des caractères lus sur l'entrée standard, généralement avec un clavier sur une console. Mais ...

Est-ce que c'est la même chose ?
Non. Ce n'est pas la même chose.


cin>> name[i]
c'est du C++, ça requiert l'entête <iostream>. L'instruction lit un caractère à partir de l'entrée standard et le stocke dans name[i].


name[i] = getchar()
c'est du C, (ça reste valide en C++), et ça requiert l'entête <stdio.h>. L'instruction lit aussi un caractère à partir de l'entrée et le stocke dans name[i].


Tu me diras où est donc la différence ?! La grande différence réside dans la façon avec laquelle sont lus les caractères. La première omet (ne lit pas) les caractères blancs, c'est à dire les espaces, les tabulations et les retours chariots, etc ...
La vérification de la lecture pourra se faire en testant l'état du flux cin avec cin.good() et cin.eof() par exemple (eof signifie end of file)

La deuxième lit tout type de caractères, y compris les espaces et les retours chariot. Et en plus, elle ne retourne pas que des caractères, elle peut aussi retourner des valeurs spéciales comme la constante EOF (end of file : fin de fichier, y a plus rien à lire, du tout du tout :):) ).

J'espère que je c'est un peu plus clair maintenant pour toi :)

PS: si tu travaille en C++, les trucs genre
char name[50] ;
ça n'est vraiment pas très recommandé. Si c'est possible, utilise le type string.
1
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention  
 
SUPER BIEN!
MERCI!
0