|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
[c++] comando "wcout" non riconosciuto da Mingw??
Ciao, facevo delle prove con setlocale() e wcout per l'output di caratteri accentati in console, quando mi sono imbattuto in questo ostacolo.
Dev-cpp (ovvero Mingw) non mi compila questo listato: Codice:
#include <iostream>
#include <clocale>
#include <cwchar>
using namespace std;
int main(){
setlocale(LC_ALL, "");
wcout << L"Sono una stringa con lettere accentate: èòàùì";
cin.get();
return 0;
}
Possibile che il Dev abbia una libreria standard incompleta? Infatti, compilato sul Borland C++ Builder questo codice funziona perfettamente. Non capisco....
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Quote:
Ma che tu sappia, l'uso di setlocale() e wcout (o wprintf in caso di C e non C++) sono l'unica strada possibile per poter visualizzare caratteri accentati in console? Non esistono altri metodi veloci che Dev-cpp possa gestire senza problemi? Lo chiedo perchè Dev-cpp mi piace come ambiente di sviluppo gratuito, e con tutti i devpack disponibili lo si può espandere parecchio....ma sono perplesso da una simile limitazione sulla STL.
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se non sbaglio andbin aveva fatto vedere l'output di caratteri accentati anche con una sequenza di escape...
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Quote:
Andbin, tu riesci ad illuminarci in merito?
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Mah ... il problema sostanzialmente è che la console non supporta l'unicode. Gestisce solo caratteri 8 bit secondo uno specifico code-page impostato (in Europa si usa tipicamente il CP-850). Basta fare dal prompt mode con per sapere quale code-page è impostato.
Usando le API di Windows si può fare così: Codice:
#include <windows.h>
#include <stdio.h>
int main (void)
{
LPWSTR msg = L"Oggi è una bella giornata";
CHAR buf[80];
CharToOemW (msg, buf);
printf ("%s\n", buf);
return 0;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 608
|
Capito tutto
grazie ad entrambi per il prezioso aiuto. uomoserio
__________________
Intel Core2Quad Q6600 2,4GHz @ 3,0 GHz 2 Gb RAM 667 MHz ATI HD2900XT |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:05.




















