Witam.
Piszę program, który ma za zadanie zapisywać wprowadzone do niego dane do plików. Niestety napotkałem problem w postaci obsługi polskich znaków.
Ni jak nie mogę sobie z nimi poradzić. Zawsze wyskakują krzaczki.
Oto kod:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string word, slowo;
int main() {
ofstream angfile;
angfile.open ("angfile.txt", ios::out | ios::app);
ofstream polfile;
polfile.open ("polfile.txt", ios::out | ios::app);
cout<<"Please enter english word: ";
getline(cin,word);
cout<<"Please enter polish word: ";
getline(cin,slowo);
angfile << word << endl;
polfile << slowo << endl;
angfile.close();
polfile.close();
getchar();
return 0;
}
Problemu nie ma kiedy wpisuję słowo bezpośrednio:
polfile << "ĄĆŻÓŁłą";
Domyślam się, że winę ponosi funkcja getline i klasa string, aczkolwiek nie mam pomysłu jak je zastąpić.
Próbowałem używać wstringów (wcin/wcout), ale wtedy kompilator odmawiał posłuszeństwa.
`wcin' undeclared (first use this function)
Używam Dev C++.