1. 寫入的時候採用多位元組char型別
handle hfile;
dword nbytes;
hfile=createfile(_t"test.txt"),generic_write,file_share_write,null,create_always,0,null);
char msg="以沃爾沃餓哦家人哦額無人機";
if(hfile!=invalid_handle_value)
2. 直接寫入unicode的頭位元組
handle hfile;
dword nbytes;
hfile=createfile(_t("test.out"),generic_write,file_share_write,null,create_always,0,null);
wchar msg=l"倫敦**立刻加拉斯**iejo房間裡多少級啊法律解決我";
if(hfile!=invalid_handle_value)
3. 使用widechartomultibyte轉換成多位元組
寬窄字元轉化
int a = widechartomultibyte(cp_acp, null, sztext, -1, lpstr(sztextansi), max_path, null, false);//unicode轉換為ansi,a的值包括了字串最後的0
if (writefile(hfile, sztextansi,a-1, &dwbyteswrite, null))//寫入的時候最後的0不用寫入所以要用a-1
else
4. 使用wcstombs轉換成多位元組,需要引用wchar.h和locale.h
handle hfile;
dword nbytes;
hfile=createfile(_t("test.out"),generic_write,file_share_write,null,create_always,0,null);
wchar msg=l"法律空間啊快點放假的就佛iejofijeiawjfajfejifio";
if(hfile!=invalid_handle_value)
char buf[sizeof(msg)];
setlocale(lc_all, ".936");
wcstombs(buf, msg, sizeof(msg));
writefile(hfile,buf, sizeof(buf),&nbytes,null);
closehandle(hfile);
//*********以下為讀入***********************//
hfile=createfile(_t("test.txt"),generic_read,file_share_read,null,open_always,0,null);
if(hfile!=invalid_handle_value);
bool bresult;
bresult=readfile(hfile,line,sizeof(line),&nbytes,null);
if(nbytes!=0)
printf("%s\r\n",line);
closehandle(hfile);
java propertes 檔案讀取亂碼問題
方法1 使用native2ascii 把中文轉化為 ascii碼,這樣讀取的使用不會亂碼。這種方式不推薦。方式2properties prop new properties prop.load is 關鍵是第二行 這裡如果你傳的是 inputstream is test.class.getresou...
WriteFile寫中文字串 TxT顯示亂碼
1 在寫入前插入0xfeff,讓系統認為是unicode編碼。注意,寫入後用十六進製制編輯器檢視高低位是互換的 unicode 0xfeff utf8 0xefbbbf 這是一種解決亂碼的方法,在前面寫入0xfeff,以unicode方式開啟 word a 0xfeff 寫入0xfeff讓記事本以u...
win7 writefile寫磁碟失敗解決
情況 1 正要寫入的扇區不位於卷內 空隙塊與分割槽表 注意 程式使用卷之外的扇區來儲存元資料。分割槽表也位於卷之外的扇區中。由於這些扇區不受任何檔案系 統的控制,因此沒有理由阻止對這些扇區的訪問。情況 2 已經通過鎖定請求或解除安裝請求顯式鎖定卷 情況 3 正要寫入的扇區位於未安裝或者無檔案系統的卷...