C语言中的文件读取从文件的中间开始
我试图读入一个文件并将其全部打印出来,但出于某种原因,它几乎从文件的中间开始这样做,我尝试了几种不同的读取方法,但没有一种能像预期的那样工作。这是代码。先谢谢你C语言中的文件读取从文件的中间开始,c,file,C,File,我试图读入一个文件并将其全部打印出来,但出于某种原因,它几乎从文件的中间开始这样做,我尝试了几种不同的读取方法,但没有一种能像预期的那样工作。这是代码。先谢谢你 void readFile(FILE *file) { FILE * fd = fopen((const char *) file, "r"); if (fd == NULL) { printf("Error"); } char line[500
void readFile(FILE *file) {
FILE * fd = fopen((const char *) file, "r");
if (fd == NULL) {
printf("Error");
}
char line[500];
while (!feof(fd)) {
fgets(line, 500, fd);
printf("%s",line);
}
fclose(fd);
}
int main() {
readFile((FILE *) "ulysses.txt");
return 0;
}
这没有意义:
(文件*)“ulysses.txt”
参数是常量字符*并且函数应该接受常量字符*请将while(!feof(fd)){fgets(line,500,fd);
替换为while(fgets(line,500,fd)!=NULL){
etc并查看文件名是一个字符串,它应该传递给char*
string参数。void readFile(char*file)
。强制转换正在隐藏错误。