Male C. Pig a.k.a. Svinopolist (piggymouse) wrote,
Male C. Pig a.k.a. Svinopolist
piggymouse

Category:

[programming] Женская логика

Задачка для знатоков C++ и Unicode. Компилим код, содержащий следующий кусочек, с помощью MSVC6/SP6 на машине с Windows 2000 и ANSI codepage 1251. Вопрос: что выдаст printf? Для справки: U00C5 есть "Å".

wchar_t* pszLatin1String = L"\x00C5";
printf("U%04X\n", (unsigned int) *pszLatin1String);

Вы усцытесь, но выдано будет U0415, сиречь код русской буквы "Е".

То бишь, анализатор MSVC выделяет лексему \x00C5, внимательно смотрит на неё и решает — раз значение восьмибитное, хер с ним, с контекстом юникодного строкового литерала, давайте преобразуем это восьмибитное значение в Юникод, используя текущий пользовательский codepage. А C5 в CP1251 отображается, само собой в U0415, CYRILLIC CAPITAL LETTER IE. Что и попадает в результате в юникодную константу.

Subj?

"C++ Lexical Conventions" в MSDN, разумеется, ничего такого не говорит. Читать стандарт не пойду, потому что просто противно.

Subscribe

  • Here take my picture

    Elegy V: His Picture by Dr John Donne Here take my picture; though I bid farewell Thine, in my heart, where my soul dwells, shall dwell. ’Tis…

  • Pea Brush

    Pea Brush by Robert Frost I walked down alone Sunday after church To the place where John has been cutting trees To see for myself about the…

  • Two poems by e.e.cummings

    Summer Silence Eruptive lightnings flutter to and fro Above the heights of immemorial hills; Thirst-stricken air, dumb-throated, in its woe Limply…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 28 comments

  • Here take my picture

    Elegy V: His Picture by Dr John Donne Here take my picture; though I bid farewell Thine, in my heart, where my soul dwells, shall dwell. ’Tis…

  • Pea Brush

    Pea Brush by Robert Frost I walked down alone Sunday after church To the place where John has been cutting trees To see for myself about the…

  • Two poems by e.e.cummings

    Summer Silence Eruptive lightnings flutter to and fro Above the heights of immemorial hills; Thirst-stricken air, dumb-throated, in its woe Limply…