Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    c++ e caratteri accentati

    Ciao a tutti,
    Ho bisogno di inserire in una stringa in c++ dei caratteri accentati.
    Quando stampo a video, per esenpio facendo cout, il carattere che si presenta a video non e' la mia lettera accentata ma un simbolo strano...
    come posso fare?
    CIAO

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: c++ e caratteri accentati

    Originariamente inviato da magoronzo
    Ho bisogno di inserire in una stringa in c++ dei caratteri accentati.
    Quando stampo a video, per esenpio facendo cout, il carattere che si presenta a video non e' la mia lettera accentata ma un simbolo strano...
    come posso fare?
    È tutta una questione di set di caratteri. Ed è una cosa un po' "delicata", a cui prestare un minimo di attenzione.

    Immagino che tu stia stampando con cout sulla "console" di Windows. Bene, almeno qui in Italia la console è tipicamente settata per usare il code-page 850. Vuoi stampare dei caratteri accentati?? Sapendo che viene usato il CP-850 (vedi <qui>), devi scrivere nel sorgente il codice del carattere. Esempio: per la 'è' devi mettere nella stringa \212 oppure \x8a.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Dipende dal fatto che in Windows il code page usato per le finestre della console non è Unicode né un code page Ansi, bensì un code page OEM; per poter stampare correttamente le lettere accentate devi usare la funzione CharToOemBuff come nell'esempio seguente:
    codice:
    char test[]="èÈà";
    CharToOemBuffA(test,test,sizeof(test)); //Effettua una conversione in-place della stringa al codepage OEM.
    std::cout<<test; //Visualizza correttamente èÈà
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.