頁:
[1]
讀取文件 問題似乎是文件檔無法判斷是否結束
本帖最後由 aaaa4489 於 2011-9-3 01:39 AM 編輯我是想做一個可以進行測驗的程式(主要是打算拿來背單字)
我用來練習的文件檔(基數如下
狗 n.
dog
貓 n.
cat
豬 n.
pig
程式碼如下
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char Filename,Cword,word,Uword; prin tf("輸入你的檔名\n");
g et s(Filename);
f p=fo pen(Filename,"r");
w hile(strcmp(word,Uword)!=0)
{
pri ntf("輸入錯誤正確答案是:%s\n",word);
fg ets(Uword,20,stdin);
}
}
sy stem("PA USE");
ret urn 0;
}
不知道為啥......... 一直說有敏感內容只好在裡面亂加些空格
程式進行到豬之前都正常
進行到豬以後 永遠顯示輸入錯誤正確答案是:pig
請各位大大幫忙解決...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 可以看一下原始碼嗎?
這種裝況應該是忘記加上rewind(file);
然後指標都在最後一行所導致
如果要簡單一點的話建議先將題目檔先到一個資料結構裡面,可以這樣寫struct word{
char chinese;
char english;
int pos;
} 回復 2# trtc008056
抱歉 本來是貼附件 沒注意到 沒有出現連結..... 我沒記錯的話,是因為 fgets 會連 '\n' 一起讀進來,
要做 strcmp 的話就要先拿掉,
不然就改用 strncmp 。 回復 4# goodbye_mylove
的確成功了 不會在輸入錯誤了 感謝大大<br><br><br><br><br><div></div>
頁:
[1]