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下編過,但每個系統,每個開發環境,肯定提供了
編碼轉換的函數庫
的啊