Вот быстрый и грязный код.Он читает все строки, чтобы получить количество всех строк, перематывает файл в начало и снова читает строки до последних, кроме двух.Наконец, последняя, кроме одной строки, читается и сохраняется в переменной lastLineButOne
.
#include <stdio.h>
#define BUF 255
int getNoOfLines(FILE *f) {
int ctr=0;
char temp[BUF];
while(fgets(temp,BUF,f) != NULL)
ctr++;
return ctr;
}
int main() {
int i;
FILE *f=fopen("apps.txt","r");
char lastLineButOne[BUF];
char temp[BUF];
int noOfLines=getNoOfLines(f);
rewind(f);
for(i = 0; i < noOfLines-2; i++) {
fgets(temp,BUF,f);
}
fgets(lastLineButOne,BUF,f);
printf("%s",lastLineButOne);
fclose(f);
return 0;
}