Odczytywanie polskich znaków z pliku.txt
Ostatnio zmodyfikowano 2014-08-16 14:01
cashis Temat założony przez niniejszego użytkownika |
Odczytywanie polskich znaków z pliku.txt » 2014-08-16 03:12:10 Cześć, Piszę sobie prosty programik, który ma bazę słów do popularnej gry Scrabble. Nie jest to nawet wersja alpha, gdyż docelowy koniec aplikacji ma mieć GUI itd... Jednak natrafiłem na dość spory problem. Poczytałem dość sporo jednak nie mogę dojść podczas działa programik nie chce znajdować mi słów z polskimi znakami. Prosiłbym o pomoc, bo próbowałem już chyba wszystkiego. Wiem, że muszę zmienić kodowanie na UTF-8 jednak nie potrafie tego zrobić w samym programie. Plik ze słowami jest przekonwertowany programem notepad++ na UTF-8. #include "stdafx.h" #include "iostream" #include "fstream" #include"string" #include < map > #include <Windows.h> using namespace std;
int _tmain( int argc, _TCHAR * argv[] ) { setlocale( LC_ALL, "Polish" ); string slowo; string tekst; cout << "Słownik scrabble \n" << "Podaj słowo ktore chcesz sprawdzić \n"; getline( cin, slowo ); fstream slownik; slownik.open( "C:\\Users\\patry_000\\Desktop\\Scrabble\\Słowa.txt", ios::in ); if( slownik.good() == true ) { while( !slownik.eof() ) { getline( slownik, tekst ); if( tekst == slowo ) { cout << "Mozna użyc tego slowa" << endl; } } slownik.close(); } else { cout << "Nie udalo sie otworzyc pliku"; } system( "pause" ); return 0; }
|
|
Jacob99 |
» 2014-08-16 10:41:12 |
|
1aam2am1 |
» 2014-08-16 10:41:24 zamień cout na wcout, char na wchar_t, string na wstring. W przed tymi nazwami to jakby nowy standard: UTF-8 w c++ Poczytaj o wchar_t |
|
cashis Temat założony przez niniejszego użytkownika |
» 2014-08-16 13:04:25 Nie za bardzo to coś zmieniło, gdyż nawet po zmianie na wstring itd program dziala tylko dla stringów bez polskich znaków. Co jest dziwne to to, że gdy wpisuje w konsole polskie znaki i je wyswietlam to pokazuja się normalnie, a jak pobieram slowo z pliku to wyskakują krzaki na polskich znakach... |
|
1aam2am1 |
» 2014-08-16 13:59:10 pobieraj słowo odpowiednio do wstring. A plik musi być w UTF-8 |
|
cashis Temat założony przez niniejszego użytkownika |
» 2014-08-16 14:01:37 Notepad++ przerobił mi plik do UTF-8 i pobieram słowo do wstringa... Co bym nie zrobił to krzaki wyskakują. Muszę ujednolicić kodowanie wpisywane z klawiatury do tego pobieranego z pliku. Ktoś ma może pomysł jak to zrobić ? int _tmain( int argc, _TCHAR * argv[] ) { wstring tekst; wstring slowo; cout << "Podaj slowo do sprawdzenia" << endl; getline( wcin, slowo ); wfstream slownik; slownik.open( "C:\\Users\\patry_000\\Desktop\\Scrabble\\Słowa.txt", ios::in | ios::out ); if( slownik.good() == true ) { wcout << "Udalo sie otworzyć plik" << endl; while( !slownik.eof() ) { getline( slownik, tekst ); wcout << tekst << endl; if( slowo == tekst ) { wcout << "Takie same" << endl; } else wcout << "Inne" << endl; } slownik.close(); } else cout << "Nie udalo sie otworzyc pliku"; system( "pause" ); } |
|
« 1 » |