在测试遍历文件时,需要打印文件名字出来,但是,文件名带中文的全部显示问号,所以就查找总结了一下问题
1.printf 与 wprintf
printf 可以格式化输出wchar_t *类型的中文字符串,但是%s 要替换成%ls 或 %S
wprintf可以直接使用wprintf来输出wchar_t* 类型的中文字符串,还是用%s,使用%ls或者%S无效
2.在mian函数初始的时候使用setlocale函数
代码如下
#include#include #include int main() { //使用系统默认的设置调用setlocale(LC_ALL, ""); setlocale(LC_ALL, ""); const wchar_t * chWord = L"疯狂程序人—码农哈哥"; printf("%s",chWord); }



