作者discipile (孤獨的風)
看板C_and_CPP
標題[問題] 讀檔問題
時間Sun Jan 10 19:59:11 2010
遇到的問題: (題意請描述清楚)
要從test.txt中讀取資料,但是都讀不到
希望得到的正確結果:
將檔案中資料讀出
程式跑出來的錯誤結果:
甚麼都沒有,除了一直往下的dos
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
#include<stdio.h>
#include<stdlib.h>
int main ()
{
FILE *fp;
char ch;
fp=fopen("test.txt","r");
while(ch!=EOF)
{
fscanf(fp,"%c",&ch);
printf("%c",ch);
}
system("pause");
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.66.168.5
→ devilarise:%c <==是只讀單一字元的意思喔 01/10 20:01
→ devilarise:讀單一字元的指令好像不是fscanf手邊沒書懶得查 01/10 20:02
→ devilarise:還有你的while條件很詭異 01/10 20:02
→ devilarise:你要用EOF判斷, 應該把fscanf的讀取函式寫在條件式上 01/10 20:03
→ devilarise:這類讀檔的函式都會回傳值, 通常都會利用回傳值判斷 01/10 20:05
→ discipile:因為希望是一次讀ㄧ個字元並印出,然後讀到檔案結尾 01/10 20:08
→ discipile:目前將ch!=EOF那個地方換成fscanf(fp,"%c",&ch)!=EOF 01/10 20:09
→ discipile:但他都會多吃掉ㄧ格 01/10 20:09
→ discipile:以解決,將while內的fscanf(fp,"%c",&ch);刪掉 01/10 20:42