分享一些经验,关于怎么创建一个unicode文本文件,并写入unicode文本(比如中文)
2014-03-21 17:20
561 查看
第一,要使用fwprintf,例如:
fwprintf( fp, L"%s\r\n", str.c_str() );注意那个str,是wstring str
第二,打开文件准备写入的时候,要这样写:
fp = _wfopen( L"bad.txt", L"a+,ccs=UNICODE" );注意那个L"a+,ccs=UNICODE",表示用UNICODE方式打开。ccs=UNICODE这个写法很不常用
第三,也是最奇怪的,如果是写入一个已经存在的UNICODE文本文件,比如你先用记事本新建文件,然后另存为,选择编码方式为UNICODE,那么上述代码工作正常。
但是,如果是新建一个UNICODE文本文件,则即使你这样写:fp = _wfopen( L"error.txt", L"w+,ccs=UNICODE" );
结果你会惊讶地发现,这个新建的文本文件,还是ANSI的编码,所以此后再通过fwprintf写入也不会对。
最后我发现必须这样写:
WORD wSignature = 0xFEFF;
FILE* fp = _wfopen( L"error.txt", L"w+" );
fwrite( &wSignature, 2, 1, fp );
fclose( fp );
0xFEFF是UNICODE文本文件开头的BOM头,只有这样才能一下子新建一个UNICODE文本文件。此后再通过fwprintf写入,就一切OK了。
最后,_wfopen和fopen,其实功能上没有任何区别,唯一只是_wfopen接收的参数是wchar_t类型的。
fwprintf( fp, L"%s\r\n", str.c_str() );注意那个str,是wstring str
第二,打开文件准备写入的时候,要这样写:
fp = _wfopen( L"bad.txt", L"a+,ccs=UNICODE" );注意那个L"a+,ccs=UNICODE",表示用UNICODE方式打开。ccs=UNICODE这个写法很不常用
第三,也是最奇怪的,如果是写入一个已经存在的UNICODE文本文件,比如你先用记事本新建文件,然后另存为,选择编码方式为UNICODE,那么上述代码工作正常。
但是,如果是新建一个UNICODE文本文件,则即使你这样写:fp = _wfopen( L"error.txt", L"w+,ccs=UNICODE" );
结果你会惊讶地发现,这个新建的文本文件,还是ANSI的编码,所以此后再通过fwprintf写入也不会对。
最后我发现必须这样写:
WORD wSignature = 0xFEFF;
FILE* fp = _wfopen( L"error.txt", L"w+" );
fwrite( &wSignature, 2, 1, fp );
fclose( fp );
0xFEFF是UNICODE文本文件开头的BOM头,只有这样才能一下子新建一个UNICODE文本文件。此后再通过fwprintf写入,就一切OK了。
最后,_wfopen和fopen,其实功能上没有任何区别,唯一只是_wfopen接收的参数是wchar_t类型的。
相关文章推荐
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享! .
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 创建一个文本文件并写入文本
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 用fopen函数创建或打开一个文本文件,并写入字符串“this is a test file.
- 创建一个栈存储结构,并且写入一些对栈的基本的操作
- 想在每个文件头部加一些关于该文件的信息,如作者,创建时间,用途等,大家一般是怎么操作的?
- 关于启用 HTTPS 的一些经验分享
- Solidworks提示字体Arial Unicode MS安装不正确,PDF文件中一个或多个文本字串可能遗失怎么办
- 自己最近做的一个关于自动进入飞行模式的经验分享
- 关于mongodb创建索引的一些经验总结
- 关于中文乱码问题的一些解决方案和经验
- c++——创建一个文本并写入
- Solidworks提示字体Arial Unicode MS安装不正确,PDF文件中一个或多个文本字串可能遗失怎么办