【发布时间】:2019-03-16 08:00:20
【问题描述】:
(顺便说一句,我对 C 很陌生,但在来这里之前我已经看过了,我只看到过有关在文本文件中查找特定字符串的问题)
void *readFile() {
FILE* myFile;
myFile = fopen ("SampleFile.txt","r");
char line[150];
while(!feof(myFile)) {
fgets(line, 150, myFile);
puts(line);
}
fclose(myFile);
return NULL;
}
我知道这会读取并打印整个文件,但有没有办法让我只读取文件的前半部分或后半部分?
【问题讨论】:
-
while(fgets(line, 150, myFile) != NULL) { puts(line); }。您可以读取文件,计算行数,然后倒回文件并重复一半的行数。或者,忽略这么多行。 -
fgets不会删除换行符,但puts会添加换行符。这将使您的文件加倍空间(并打印最后一行两次)。