A propos d'un string dans un tableau de char
sophie34
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
lors du cours, l'enseignant nous a dit qu'un tableau de char qui représente un string se finit obligatoirement par un '/0', j'ai voulu m'en assurer avec ce code qui doit afficher les 6 premières cases du tableau, soit A R B R E 0
mais il ne m'affiche que A R B R E et pas de '/0'. Savez-vous pourquoi?
merci :)
lors du cours, l'enseignant nous a dit qu'un tableau de char qui représente un string se finit obligatoirement par un '/0', j'ai voulu m'en assurer avec ce code qui doit afficher les 6 premières cases du tableau, soit A R B R E 0
mais il ne m'affiche que A R B R E et pas de '/0'. Savez-vous pourquoi?
using namespace std;
#include <iostream>
int main(){
char mes[]="arbre";
cout<<mes[0];
cout<<mes[1];
cout<<mes[2];
cout<<mes[3];
cout<<mes[4];
cout<<mes[5];
}
merci :)
Configuration: Windows XP Internet Explorer 7.0
4 réponses
-
Car '\0' n'affiche rien. C'est juste le caractère nul dont son code ascii est 0.
Affiche le code ascii des caractères plutôt que leurs caractères et tu verras bien que mes[5] vaut 0.
Cdlt -
merci pour ta réponse fiddy :)
mais dis moi, quelle est la fonction en C qui affiche l'équivalent en ASCI des char? -
Attention, ton code c'est du C++ et non du C ;-))).
Pour afficher le code ascii, un simple cast suffira.cout << (int)mes[5];
-
Voici le code qui te permet d'afficher tous les caractères ascii :
#include <iostream> using namespace std; int main() { char mes[] = "arbre"; for (size_t i=0; i<sizeof mes; i++) cout << (int)mes[i] << endl; }