// 输出中文
char szA[8];
WCHAR szW[8];
sprintf(szA, "%s", L"和平"); // 乱码,四个字节
sprintf(szA, "%s", "和平"); // 和平
sprintf(szA, "%S", L"和平"); // 零字节
sprintf(szA, "%S", "和平"); // 零字节
swprintf(szW, L"%s", L"和平"); // 和平,四个字节
swprintf(szW, L"%s", "和平"); // 无法输出,四个字节,内容是ANSI码
swprintf(szW, L"%S", L"和平"); // 无法输出,八个字节,内容是Unicode码
swprintf(szW, L"%S", "和平"); // 无法输出,八个字节,内容是ANSI码
wsprintfA(szA, "%s", L"和平"); // 乱码,四个字节
wsprintfA(szA, "%s", "和平"); // 和平
wsprintfA(szA, "%S", L"和平"); // 和平
wsprintfA(szA, "%S", "和平"); // 乱码,两个字节
wsprintfW(szW, L"%s", L"和平"); // 和平,四个字节
wsprintfW(szW, L"%s", "和平"); // 无法输出,四个字节,内容是ANSI码
wsprintfW(szW, L"%S", L"和平"); // 无法输出,六个字节,内容是Unicode码
wsprintfW(szW, L"%S", "和平"); // 和平,八个字节
// 输出英文
char szA[8];
WCHAR szW[8];
sprintf(szA, "%s", L"well"); // w,一个字节
sprintf(szA, "%s", "well"); // well,四个字节
sprintf(szA, "%S", L"well"); // well,四个字节
sprintf(szA, "%S", "well"); // 零字节
swprintf(szW, L"%s", L"well"); // well,八个字节
swprintf(szW, L"%s", "well"); // 乱码,四个字节
swprintf(szW, L"%S", L"well"); // w,两个字节
swprintf(szW, L"%S", "well"); // well,八个字节
wsprintfA(szA, "%s", L"well"); // w,一个字节
wsprintfA(szA, "%s", "well"); // well,四个字节
wsprintfA(szA, "%S", L"well"); // well,四个字节
wsprintfA(szA, "%S", "well"); // 乱码,四个字节
wsprintfW(szW, L"%s", L"well"); // well,八个字节
wsprintfW(szW, L"%s", "well"); // 乱码,四个字节,内容是ANSI码
wsprintfW(szW, L"%S", L"well"); // w,两个字节
wsprintfW(szW, L"%S", "well"); // well,八个字节
博客展示了不同字符输出函数(sprintf、swprintf、wsprintfA、wsprintfW)在输出中文和英文时的不同情况,包括乱码、零字节、正常输出等,还给出了输出内容的字节数及编码情况,为字符输出相关编程提供参考。
914

被折叠的 条评论
为什么被折叠?



