我需要一些在Linux上使用g ++編碼文件的解釋。需要解釋在linux上使用C++創建utf-8編碼文件
我有一個簡單的代碼:
int main()
{
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' ,'é' };
pFile = fopen ("myfile", "wt, ccs=UTF-8");
//pFile = fopen ("myfile", "wt");
fwrite (buffer , sizeof(char), sizeof(buffer), pFile);
fclose (pFile);
return 0;
}
即使「CCS = UTF-8」的部分上則fopen線加入,此程序輸出文件始終在ISO-8859-1編碼。但是,如果我在Linux上使用vi創建一個包含這些字符的文件,則生成的文件是UTF-8編碼的(我使用命令「file myfile」查看文件的編碼模式,並確認「xxd -b myfile」這種行爲)。
所以我想已瞭解:
1-爲什麼G ++對Linux不默認創建一個UTF-8的文件?
2-如果創建的文件不是以UTF-8編碼,ccs = UTF-8的目標是什麼?
3-如何基於這個簡單的代碼創建一個UTF-8文件?
謝謝。