int main() {
FILE *fp;
char sline[1024];
size_t rd;
int i;
fopen_s(&fp, "D:\\111.txt", "r");
if (fp == NULL) {
//printf("%d,[%s]\n", errno, strerror(errno));
return 0;
}
fseek(fp, 0, SEEK_END);
if (ftell(fp) > 1023)
fseek(fp, -1023, SEEK_CUR);
else
fseek(fp, -ftell(fp), SEEK_CUR);
memset(sline, 0, sizeof(sline));
rd = fread(sline, 1, 1023, fp);
if (sline[rd - 1] == '\n')
sline[rd - 1] = 0;
for (i = (1023 > rd ? rd : 1023); i >= 0; i--) {
if (sline[i] == '\n') {
break;
}
}
if (i < 0) {
printf("this line is too long....\n");
return 0;
}
printf("last line is:\n%s\n", sline + i + 1);
return 0;
}