std::cout << "oggi è brutto tempo";
come devo fare per stampare in maniera corretta lettere tipo è é à ì ù
con il carattere di escape "\" naturalmente non funziona
std::cout << "oggi è brutto tempo";
come devo fare per stampare in maniera corretta lettere tipo è é à ì ù
con il carattere di escape "\" naturalmente non funziona
io proverei ad assegnare a una variabile di tipo char il codice ascii della lettera che voglio visualizzare e poi visualizzare la variabile stessa.
Tabella
La curiosità è la fonte della conoscenza.
Devi settare il locale giusto e usare i widechar
o cosi se preferisci rimanere fedele al c++codice:#include <stdlib.h> #include <wchar.h> #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL, ".437"); wchar_t stringa[] = L"Sono una stringa con lettere accentate: èòàùì"; wprintf(L"%s", stringa); getchar(); return 0; }
codice:#include <cstdlib> #include <cwchar> #include <cstdio> #include <iostream> #include <clocale> using namespace std; int main(){ setlocale(LC_ALL, ".437"); wchar_t stringa[] = L"Sono una stringa con lettere accentate: èòàùì"; wcout<<stringa; getchar(); return 0; }
In alternativa puoi usare le apposite API di conversione dal/per il charset OEM.
Amaro C++, il gusto pieno dell'undefined behavior.