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 -
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
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
A voir également:
- Char en C++
- Coco char - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Convertir char en int c ✓ - Forum C
- If char ✓ - Forum Programmation
- Conversion int to char en C - Forum C
1 réponse
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.
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
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.
MERCI!