Hello.
Je souhaite afficher une chaîne de caractère finale dans laquelle j'ai ajouté un caractère après chaque caractère d'une chaîne de caractère initiale.
Cela fonctionne parfaitement avec ce code pour des chaînes sans caractères accentués
"abc de" avec "_" devient "a_b_c_ _d_e_".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <iostream> #include <string> using namespace std; int main() { string chaine_1 = "abc de"; cout << chaine_1 << endl; for (char c1 : chaine_1) { cout << c1; } cout << endl; for (char c1 : chaine_1) { cout << c1 << "_"; } cout << endl; return 0; }
En revanche, si je tente "Test éé àè !", j’obtiens : "T_e_s_t_ _ _�_�_�_�_ _�_�_�_�_ _!_"
Pourtant, les 2 premiers affichages fournissent bien les accents ....
J'ai aussi essayé
avec le même résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (int c = 0; c < int(chaine_1.size()); c++) { cout << chaine_1.at(c) << "_"; }
Mon code source est bien en utf-8.
Bref, je suis bloqué
Partager