#ifndef UNICODE
#define UNICODE
#endif
#include <stdio.h>
int main()
{
FILE* oFile;
oFile = _wfopen(L"foo.txt",L"w");
//*
fwprintf(oFile,L"%s", L"ęłó☺☻♥♦•ń");
fclose(oFile);
return 0;
}
为什么这个程序创建一个 ASCII 文件而不是 UTF-16,尽管所有函数都是宽的?!
foo.txt 内容:
za[问号]ó[两个问号...] g[...四个...] ja[另外两个...] [五个*?] [和最后一个]
这是不可转换的。
fwprintf(oFile,L"%c%c%s",0xFE,0xFF,L"zażółć gęśłą jaźń ☺☻♥♦• ć");
现在,它显示了中文符号,无论是小端还是大端,都设置了字节顺序标记。