所以我試圖從文件字符讀取到數組中。這裏是我的代碼:從fille到char數組讀取C語言
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
char abc[255];
int i = 0;
fp = fopen ("source.c", "r");
while(fgetc(fp) != EOF)
{
fputc(abc[i], FILE *fp);
printf("%c", abc[i]);
i++;
}
fclose(fp);
return(0);
}
我得到一個錯誤:
main.c: In function 'main':
main.c:19:19: error: expected expression before 'FILE'
fputc(abc[i], FILE *fp);
這個錯誤是什麼意思?什麼是錯的,我該如何解決它?
INT的fputc(INT字符,FILE *流); (在你的情況下,fputc(abc [i],fp);) –
在'c'中,你不會將參數類型作爲函數參數傳遞,在'fputc'調用中擺脫'FILE *'。但是整條線都是問題。 'fputc'試圖爲流寫入一個字符..你已經打開這個文件只能用'「r」'模式讀取。如答案所示,只需轉儲'fputc'行即可。如果你也想寫一些文件到文件中,你必須打開一個文件才能寫入。 – yano
這一行:'while(fgetc(fp)!= EOF)'正在讀取文件中的字符,並將其存儲在任何地方。建議:'char abc [255]; int ch; for(i = 0; i <255 &&(ch = fgetc(fp)!= EOF)); i ++){abc [i] =(char)ch; }' – user3629249