A. 怎么使用C++或C创建UTF-8文件
UTF-8文件的读取有很多情况,在不同的C/C++环境下也有不同的方法,因此你最好描述一下,工程环境是什么,文件是否带有BOM头等信息。通常的读取,就是先读取前三个字节(判断是否是BOM头并确认编码格式),然后完整读取后通过WideCharToMultiByte等函数转换为多字节编码就可以了。
B. C++ 在写入文件的时候,如何设置流的编码方式为UTF-8
wofstream wofile("file");wofile.imbue(locale( "", locale::all ^ locale::numeric));“”表示表示使用本地语言,这里当然相当于“chs”或者“chinese”。locale::all表示使用该语言的所有格式设置进行编码转换!^是异或,locale::numeric表示数字格式。这里的意思是避免转换数字格式!否则123456输出结果会成为123,456这种形式!1)std::ofstream 支持中文的文件名,可以正常的写入中文(MBCS编码)==>std::string类型(2)std::wofstream 支持中文的文件名,可以正常的写入中文常量(不带L),如果是带上L的话,需要将Locale设置成"chs"模式,对应std::wstring类型的变量(包含中文)写入文件时,一定要将Locale设置成"chs"模式,否则不能正常写入。(3)宽字符的流(前面带w的)==>支持按照MBCS写文件,但是仅仅局限于常量比如std::wcout<<"wcout测试";对于MBCS的变量(std::string)来说将会产生编译错误,例:std::string str = "中文";std::wcout<<str;(4)对于宽字符的流如果是指明使用Unicode的话(std::wstring),就需要相应的设置区域了,调用相应的imbue方法(5)总结一般的读写文件使用std::ofstream就行了,支持汉语,==>包括文件名,和文件写入
C. 如何将新建文本文档的编码默认设为UTF-8格式
具体方法如下:x0dx0a1.在桌面新建一个文本文档,不要写入任何内轮前容,然后手动另存为,将此文腊清清档编码改为UTF-8,然后将文件名字改为template.txt;x0dx0a2.再将template.txt移正拦动到C:\Windows\ShellNew这个文件夹下;x0dx0a3.打开注册表,WIN+R输入regedit,打开HKEY_CLASSES_ROOT\.txt\ShellNew,然后新建字符串值FileName,双击新建文件,在地址栏输入C:\Windows\ShellNew\template.txt。
D. C++怎样新建UTF-8编码的txt文件怎样添加字符串到UTF-8编码的文件代码是什么
extern "C"{__declspec(dllexport)int WINAPI icePub_gbkToUTF8(char *strGbkInfo,char *strUtf8Info,int strMaxLen);__declspec(dllexport)int WINAPI icePub_writeTextToFile(char *strText,char *strFilename,int traceFlag);}#pragma comment(lib,"icePubDll.lib")char str1[128];icePub_gbkToUTF8("月光",str1,128);AfxMessageBox(str1);icePub_writeTextToFile(str1,"D:\\test\\a.txt",1);
E. C语言如何生成UTF-8编码格式的文件
哎呀。都是干嘛的啊?很简单的啊。你用二进制的方式写文件,不就行了啊。写文件的时专候,把要属写入的数据,用一个函数转换程utf8编码的数据,就ok了啊虽然我没在linux下编过,但每个系统,每个开发环境,肯定提供了编码转换的函数库的啊