Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zmiana kodowanie znaków w konsoli

Ostatnio zmodyfikowano 2010-02-17 22:25
Autor Wiadomość
Ravel25
Temat założony przez niniejszego użytkownika
Zmiana kodowanie znaków w konsoli
» 2010-02-14 00:39:12
Wiem że juz ten temat był na forum(http://forum.ddt.pl/?Tid=1282), ale niestety po wstawieniu:
C/C++
cout.imbue( locale(
#ifdef WIN32
"Polish_Poland"
#else
"pl_PL"
#endif
) );
program uruchamia się i zamyka, tak jak bez: system("PAUSE")
podam przykład najprostrzego programu:
C/C++
#include <cstdlib>
#include <iostream>


using namespace std;

int main( int argc, char * argv[] )
{
    cout.imbue( locale(
    #ifdef WIN32
    "Polish_Poland"
    #else
    "pl_PL"
    #endif
    ) );
   
    char imi[ 15 ];
   
   
    cout << "Jak masz na imię? "; cin >> imi;
   
   
    system( "PAUSE" );
    return EXIT_SUCCESS;
}
Jeśli ktos mógłby mi powiedzieć co robie źle, byłbym wdzięczny.
 
P-13870
Pirotechnik
» 2010-02-16 20:10:48
Nie jestem doświadczonym programistom ale sproboj dopisać
'getch()'
P-13944
malan
» 2010-02-17 19:03:36
Za wiele to to nie da ;p.
P-13961
RL89
» 2010-02-17 21:20:15
Radzę wpierw poczytać http://kursy.ddt.pl/?LessonId=117

P-13964
Elaine
» 2010-02-17 21:33:43
Hmm...? I co ma to dać?

@temat: Spróbuj to: http://ideone.com/ciftpNSo
P-13966
RL89
» 2010-02-17 21:54:17
Bo deklarowanie tego w tym akurat miejscu, nie ma sensu:

 #ifdef WIN32
  "Polish_Poland"
  #else
  "pl_PL"
  #endif

P-13968
Elaine
» 2010-02-17 22:17:13
Jak najbardziej ma sens... Do tego w końcu te dyrektywy służą - do kompilacji warunkowej.
P-13969
WunM
» 2010-02-17 22:25:08
Nie łapiesz wyjątku i wywołuje się funkcja terminate. A wyjątek zostaje rzucony (przynajmniej u mnie):

what(): 'locale::facet::_S_create_c_locale name not valid'
P-13970
« 1 »
  Strona 1 z 1