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
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;
}
"abc de" avec "_" devient "a_b_c_ _d_e_".

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é
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) << "_";
	}
avec le même résultat.
Mon code source est bien en utf-8.
Bref, je suis bloqué