#include <stdio.h>
FILE *fl;
char content[BUFSIZ];
int main() {
int i;
fl = fopen ("data.txt", "rt");
content = fgetc(fl);
for (i=0;i <= sizeof(content); i++ ){
printf("%c",content[i]);
}
fclose(fl);
}
我正在尝试打开文件并将文本文件的内容放入content []数组中。但是当我尝试编译时,我得到以下错误。
y:~/homework1: gcc -o hw1_2 hw1_2.c
hw1_2.c: In function 'main':
hw1_2.c:11:11: error: incompatible types when assigning to type 'char[1024]' from type 'int'
答案 0 :(得分:1)
函数fgetc
读取单个字符并返回它。所以你试图将一个整数分配给一个数组,但这不会起作用。
您应该使用fread
。
fread(content, 1, sizeof(content), fl);
然而,既然你给家庭作业加了标签,你可能会想要这样的东西:
int ch;
while (i < SIZE && (ch = fgetc(fl)) != EOF)
content[i++] = ch;