C 为什么可以';它不能打印出用Shift-JIS编码的字符吗?
为什么A和B都不能打印Shift JIS中编码的字符?打印的是什么?垃圾0x82和0xCC作为两个单独的字符?当您将字符串转换为C 为什么可以';它不能打印出用Shift-JIS编码的字符吗?,c,mingw32,widechar,shift-jis,C,Mingw32,Widechar,Shift Jis,为什么A和B都不能打印Shift JIS中编码的字符?打印的是什么?垃圾0x82和0xCC作为两个单独的字符?当您将字符串转换为*printf()行时会发生什么情况?wchar\u t Str[3]={0x82,0xCC',\0'}?您的格式字符串错误%ls需要wchar\u t*,而不是char*。使用纯%s。查看类似问题。 #include <stdio.h> #include <stdlib.h> #include <locale.h> int mai
*printf()
行时会发生什么情况?wchar\u t Str[3]={0x82,0xCC',\0'}代码>?您的格式字符串错误<代码>%ls
需要wchar\u t*
,而不是char*
。使用纯%s
。查看类似问题。
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main (void)
{
setlocale(LC_ALL, "ja_JP.Shift_JIS");
char Str[3] = {0x82,0xCC,'\0'};
printf ("(%ls)\n", Str); // --> A
wprintf (L"(%ls) \n", Str); // --> B
system ("pause");
}
(()