关于向文件输出文字所得编码问题:
一、向文本文件中输出宽字符,获得ANSI字符:
二、向二进制文件中输出宽字符,获得UTF-16LE字符
一、向文本文件中输出宽字符,获得ANSI字符:
setlocale(LC_CTYPE, ""); // 获取当前区域设置,默认为C区域设置
FILE * f = fopen("desktop.txt", "r+"); // 文本文件
fwprintf(f, L"我是万国码\n"); // 文件中会得到ANSI字符
fclose(f);
二、向二进制文件中输出宽字符,获得UTF-16LE字符
FILE * f = fopen("desktop.txt", "rb+"); // 二进制文件
fwprintf(f, L"\ufeff我是万国码\r\n"); // 文件中获得UTF-16LE字符串,\ufeff是字节序标志
fclose(f);