рджреГрд╢реНрдп C ++ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП printf рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рд╛рд░реВрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рджреБрдЦрдж рднрд╛рдЧреНрдп

рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рдЬреБрдбрд╝реА рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЬрд┐рдирдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдирдП рдорд╛рдирдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмреЗрд╣рддрд░ рд╕рдордп рддрдХ рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ [1]ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг: рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдпреВрд╕реАрдПрд╕ -2 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдпреВрдирд┐рдХреЛрдб рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдиреЗ рдХреЗрд╡рд▓ 65,536 рд╡рд░реНрдгреЛрдВ [2] рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдерд╛ред рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдмрд╛рдж, рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рдиреЗ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рддрдм рддрдХ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рдереА, рдХреНрдпреЛрдВрдХрд┐ Win32s, Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 рдФрд░ Windows 95 рдкрд╣рд▓реЗ рд╣реА рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЬрд╛рд░реА рд╣реЛ рдЪреБрдХреЗ рдереЗ - рд╡реЗ рд╕рднреА BCS рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рдереЗред -2 [рей]ред

рд▓реЗрдХрд┐рди рдЖрдЬ рд╣рдо рдкреНрд░рд┐рдВрдЯрдл рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЪреВрдВрдХрд┐ рдпреВрдирд┐рдХреЛрдб рдХреЛ C рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдерд╛ рдХрд┐ Microsoft рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ C рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЗрд╕ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, wcscmp , wcschr рдФрд░ wprintf рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рджрд┐рдЦрд╛рдИ рджреАрдВ ред рдкреНрд░рд┐рдиреНрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдлреЙрд░реНрдореЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреНрд╡рд╛рд▓рд┐рдлрд╛рдпрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗ:

  • % s рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рдЪреМрдбрд╝рд╛рдИ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ;
  • % S рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ;
  • % hs рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ;
  • % ws рдФрд░ % ls рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛:

TCHAR buffer[256]; GetSomeString(buffer, 256); _tprintf(TEXT("The string is %s.\n"), buffer); 

рдФрд░ рдПрдПрдирдПрд╕рдЖрдИ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

 char buffer[256]; GetSomeStringA(buffer, 256); printf("The string is %s.\n", buffer); 

рдФрд░ рдпреВрдирд┐рдХреЛрдб рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп - рдпрд╣ [4]:

 wchar_t buffer[256]; GetSomeStringW(buffer, 256); wprintf(L"The string is %s.\n", buffer); 

рдЪреВрдБрдХрд┐ % s рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рдЪреМрдбрд╝рд╛рдИ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЛрдб ANSI рдФрд░ рдпреВрдиреАрдХреЛрдб тАЛтАЛрджреЛрдиреЛрдВ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╕рд╛рде рд╣реА, рдпрд╣ рд╕рдорд╛рдзрд╛рди ANSI рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ % s рд╕реНрдкреЗрд╕рд┐рдпрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬрдм рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ C99 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, C рднрд╛рд╖рд╛ рдорд╛рдирдХреАрдХрд░рдг рд╕рдорд┐рддрд┐ рдиреЗ рдкреНрд░рд┐рдВрдЯрдл рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЙрдбрд▓ рдЕрдкрдирд╛рдпрд╛:

  • % s рдФрд░ % hs рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ;
  • % ls рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рдпрд╣реАрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реБрд░реВ рд╣реБрдИрдВред рдЙрд╕ рд╕рдордп рддрдХ рдкрд┐рдЫрд▓реЗ рдЫрд╣ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдЕрд░рдмреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдЦреА рдЧрдИ рдереА, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рд╡рд┐рдЬреБрдЕрд▓ C рдФрд░ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреИрд╕реЗ рдмрдиреЗрдВ?

рдпрд╣ рдкреБрд░рд╛рдиреЗ, рдЧреИрд░-рдорд╛рдирдХ рдореЙрдбрд▓ рдкрд░ рд░рд╣рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рднреА рдореМрдЬреВрджрд╛ рд╡рд┐рдВрдбреЛрдЬ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рди рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░реЗ, рдЬреЛ рдкреНрд░рд┐рдВрдЯрдлрд╝ рдХреЗ рд▓рд┐рдП рд╢рд╛рд╕реНрддреНрд░реАрдп рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рд╕реА рдорд╛рдирдХ рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП % hs рдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП % ls ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ, рдЪрд╛рд╣реЗ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдкреНрд░рд┐рдВрдЯрдл рдпрд╛ wsprintf рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

 #ifdef UNICODE #define TSTRINGWIDTH TEXT("l") #else #define TSTRINGWIDTH TEXT("h") #endif TCHAR buffer[256]; GetSomeString(buffer, 256); _tprintf(TEXT("The string is %") TSTRINGWIDTH TEXT("s\n"), buffer); char buffer[256]; GetSomeStringA(buffer, 256); printf("The string is %hs\n", buffer); wchar_t buffer[256]; GetSomeStringW(buffer, 256); wprintf("The string is %ls\n", buffer); 

рдПрдХ рдЕрд▓рдЧ TSTRINGWIDTH рдкрд░рд┐рднрд╛рд╖рд╛ рдЖрдкрдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдб:

 _tprintf(TEXT("The string is %10") TSTRINGWIDTH TEXT("s\n"), buffer); 

рдЪреВрдВрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреА рд╕рд╛рд░рдгреАрдмрджреНрдз рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд╕рдВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред


рдореИрдВрдиреЗ рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рд╕реА рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ [5] рдореЗрдВ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рджреЛрдиреЛрдВ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░реЗ рддреЛ рдЗрди рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдиреЛрдЯ

[рез] рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХреА рд╢реБрд░реВрдЖрдд рдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдкрд╣рд▓реА рдЪрд╛рд▓ рдХрд╛ рд▓рд╛рдн рджрд┐рдпрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди - рдХрдо рд╕реЗ рдХрдо рдпреВрдирд┐рдХреЛрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП "рдЕрдЧреНрд░рдгреА рдХрд╛ рдЕрднрд┐рд╢рд╛рдк" рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдХреА рдиреЗ рдмреЗрд╣рддрд░ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрдм рдЕрдзрд┐рдХ рдЖрд╢рд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдВрдЧреЗ (рдЬреИрд╕реЗ рдХрд┐ UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ), рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЙрдирдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВред

[реи] рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрдерд╛ рдХрд┐ ремрел,релрейрем рд╡рд░реНрдг рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП ред

[рей] рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ UTF-16 рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпреВрдЯреАрдПрдл -16 рдЙрди рдХреЛрдб рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпреВрд╕реАрдПрд╕ -2 рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рджреЛрдиреЛрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

[рек] рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдпреВрдирд┐рдХреЛрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

 unsigned short buffer[256]; GetSomeStringW(buffer, 256); wprintf(L"The string is %s.\n", buffer); 

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ wchar_t рдЕрднреА рддрдХ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЬрдм рддрдХ рдЗрд╕реЗ рдорд╛рдирдХ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рддрдм рддрдХ рдпрд╣ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдШреБ рдХрд╛ рдПрдХ рдкрд░реНрдпрд╛рдп рдерд╛ред рднрд╛рдЧреНрдп wchar_t рдХреЗ рдореЛрдбрд╝ рдФрд░ рдореЛрдбрд╝ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

[рел] рд╡рд┐рдВрдбреЛрдЬ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░рд╛рд░реВрдк рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдереА рдХрд┐ рд╕реА рдорд╛рдирдХ рдХреЛ рдЗрд╕рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдирд╛ рдерд╛, рди рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ

рдореИрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХ рдХрд╛ рдЖрднрд╛рд░реА рд╣реВрдВред рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ "% s" рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рднреНрд░рдо рдХреИрд╕реЗ рдирд┐рдХрд▓рд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рдЧрд╛рддрд╛рд░ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ, "рдкреЛрд░реНрдЯреЗрдмрд▓" рдХреЛрдб, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд▓рд┐рдирдХреНрд╕ рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд V576 рдирд┐рджрд╛рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ (рджреЗрдЦреЗрдВ "рд╡рд╛рдЗрдб рд▓рд╛рдЗрдиреНрд╕")ред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдиреЛрдЯ рдЙрди рд╕рднреА рдХреЛ рдкрдврд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рдкрдврд╝реЗрдВ рдФрд░ рдмрддрд╛рдПрдВред

Source: https://habr.com/ru/post/hi466875/


All Articles