[問題] 讀取中文字
問題是這樣的:
例如:
123 牛奶 白 0 57348591 1
321 水 無 0 57348591 1
註: 資料中間是用space隔開
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Code::Blocks 8.02, Windows
有問題的code: (請善用置底文標色功能)
int bookNum;
char bookName[1024];
char bookcompany[1024];
int bookLevel;
char bookInTime[1024];
int bookState;
.....
while (fscanf(spBook, "%d%*[ ]%[^ ]%*[ ]%[^ ]%d%*[ ]%[^ ]%d",
&bookNum, bookName, bookcompany, &bookLevel,
bookInTime, &bookState) == 6)
{
......
}
printf("%d ", bookNum);
printf("%s", bookName);
printf("%s ", bookcompany);
printf("%d ", bookLevel);
printf("%s ", bookInTime);
printf("%d\n", bookState);
====================================================
輸出結果 : 123 0 1
結果發現 string 內的中文字都讀不到...
我的%*[ ]本來是拿來吃space
不過看起來似乎連中文字都吃光光了...
而且好像沒讀到第二筆就跳出
不知道問題在哪...
先感謝解答了~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.236.110
※ 編輯: lovehina58 來自: 140.123.236.110 (05/06 17:52)
推
05/06 17:53, , 1F
05/06 17:53, 1F
→
05/06 18:11, , 2F
05/06 18:11, 2F
→
05/06 18:39, , 3F
05/06 18:39, 3F
推
05/06 19:38, , 4F
05/06 19:38, 4F
推
05/06 23:09, , 5F
05/06 23:09, 5F
→
05/06 23:38, , 6F
05/06 23:38, 6F
→
05/06 23:39, , 7F
05/06 23:39, 7F