雖然做文件im卡在這裏。while循環的條件不工作。編譯器說不能將int轉換爲FILE *。編譯器說:不能將int轉換爲FILE *
while(pFile!=EOF);
我應該將pFile類型化爲int嗎?我試過了,但它沒有奏效。提前感謝。 完整的代碼是:
int main()
{
char ch;
char name[20];
FILE *pFile;
int score;
pFile=fopen("database.txt","r");
if(pFile!=NULL)
{
while(pFile!=EOF);
{
fscanf(pFile,"%c",ch);
}
}
else
printf("Cant open the file.......");
fclose(pFile);
return 0;
}
建議:不要使用printf(「無法打開文件....」),請嘗試perror(name); (在某些情況下,您之前已經將「database.txt」複製到名稱中,並且已經處理了緩衝區大小問題)。這會將錯誤消息放在適當的流中,並且它會提供更多信息。 perror是你的朋友。 – 2010-08-23 16:23:33
@William:謝謝:) – 2010-08-23 16:29:09
在輸出中打印錯誤,但打印ERROR = 0,那是什麼? – 2010-08-23 16:34:12