fprintf字符编码

来源:互联网 发布:美工的职业要求 编辑:程序博客网 时间:2024/06/06 03:19

fprintf是ANSI的,UNICODE的,要用fwprintf;也可以用_ftprintf搜索来同时兼容ANSI和UNICODE;


只写入了0和1,是因为UNICODE的123456789,实际上内存上是1 \0 2 \0 3 \0 等等等,而fprintf写的是ANSI字符串遇到\0就结束了,所以就只写了一个字节而已。。。


_wsetlocale(0, L"chs"); //必须加上,否则fwprintf对中文不支持
FILE *f = fopen("c:\\a.txt""a+");
fwprintf(f, L"%s\n", L"这个可以写了");
fwprintf(f, L"%s\n", L"1234567890");
fclose(f);

 


其实简单来说,就是把你的代码里,先调用_wsetlocate,再把fprintf换成_ftprintf就行了

原创粉丝点击