我如何阅读例如从最后一行开始的文本文件中的10个最后一行?你对c有什么想法吗?
答案 0 :(得分:2)
您必须从缓冲区中的文件读取最后n个字节,而不是在该缓冲区上操作。例如,要从文件中读取最后一个BUFFER_SIZE字节,您可以使用stdio执行类似的操作:
#define BUFFER_SIZE = 4096;
char buffer[BUFFER_SIZE];
FILE* file = fopen("filename", "rb");
size_t bytesRead = -1;
if(file) {
fseek(file, BUFFER_SIZE, SEEK_END);
bytesRead = fread(buffer, sizeof(char), BUFFER_SIZE, file);
/* Process the buffer here */
}
fclose(file);
file = NULL;