/ / Как мога да получа един знак от кирилица c ++ - c ++

Как мога да получа един знак от кирилица низ C ++ - C + +

Аз имам кирилица. Трябва да получа едно писмо от него. Намерих само по този начин:

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 - ако сте някъде другаде, можете да направите проверката сами, като прочетете връзката с макроса и придружаващата го Сурогати и допълнителни знаци Документи.