[問題] 處理unicode檔案的問題@@~
最近我在windows上寫一個unicode的程式~
才發現unicode的程式不像我想的這麼簡單~QQ~
我在版上爬文過後~大致上瞭解
1.讀進來的char要用wchar_t來接
2.一些function要加上w(表示這function是寬字元)
e.q.: wprintf, swprintf...
3.在處理時要加上L or l
e.q.:wprintf(L"%lc %lc\n",line[count][count2],C);
所以我想問以下的問題(開發環境為dev C++ 4.9.9.2):
1.
有沒有什麼function是可以一次讀進來unicode一行的?
(我想要做到fgets的功能)
2.
const wchar_t *a[] ={" "," "," 〔 ; ; "," 〕"};
以上的宣告為什麼會出現warning?
當我宣告成
const wchar_t *a[] ={L" ",L" ",L" 〔 ; ; ",L" 〕"};
時他卻又說有錯~QQ~
3.
我想要比對程式中是否有TAB(也就是'\t')出現
那麼我用
const wchar_t me = L'\t';
wchar_t line[5][1000];
...
if(line[count][count2]==me)
{
}
這樣對嗎?
還是他有類似strcmp之類的function可以拿來比對?
4.
如果line[count][count2]是'\t'的話
那麼
line[count][count2]=L'\0';
count3 =swprintf(line[count+1],1000,L"%ls%ls%ls",
line[count],
a[count],
(line[count]+count2+1));
這樣做對嗎?
以上的程式碼我要做的是:
line[count] 裡存的是 "abc def" 字串
a[count]存的是 "][" 字串
line[count+1] 就會存 "abc][def" 字串
5.
最後問一下~
要怎麼讓存回去的資料也是unicode?
fwprintf(op2,"%s",line[count+1]);
他說
67 G:\a.c [Warning] passing arg 2 of `fwprintf' from
incompatible pointer type
煩請知道的人告知 m(_._)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.212.1
推
04/04 02:43, , 1F
04/04 02:43, 1F
→
04/04 02:50, , 2F
04/04 02:50, 2F
推
04/04 04:41, , 3F
04/04 04:41, 3F
→
04/04 04:41, , 4F
04/04 04:41, 4F
→
04/04 04:53, , 5F
04/04 04:53, 5F
→
04/04 08:26, , 6F
04/04 08:26, 6F
→
04/04 08:26, , 7F
04/04 08:26, 7F
→
04/04 08:27, , 8F
04/04 08:27, 8F
→
04/04 08:27, , 9F
04/04 08:27, 9F
→
04/04 08:27, , 10F
04/04 08:27, 10F
推
04/04 18:47, , 11F
04/04 18:47, 11F
推
04/04 23:02, , 12F
04/04 23:02, 12F