Аз имам кирилица. Трябва да получа едно писмо от него. Намерих само по този начин:
wstring line;
wifstream myfile (".../outfile.txt");
if (myfile.is_open())
{
while (myfile.good())
{
getline (myfile,line);
wstring a = line.substr(0,2); // this gives one first letter
//....
}
myfile.close();
}
Има ли по-добри начини да получите писмо от кирилица?
Отговори:
0 за отговор № 1Ако кирилицата използва заместващи двойки в UTF-16 кодиране, вместо да прави това:
wstring a = line.substr(0,2);
бихте могли да помислите да направите нещо подобно на това:
const wchar_t surrogate[] = { line[0], line[1], L" " };
const wchar_t non_surrogate[] = { line[0], L" " };
const wstring a = IS_SURROGATE_PAIR(surrogate[0], surrogate[1]) ?
surrogate :
non_surrogate;
Най- IS_SURROGATE_PAIR макросът е за Windows - ако сте някъде другаде, можете да направите проверката сами, като прочетете връзката с макроса и придружаващата го Сурогати и допълнителни знаци Документи.