c++实现tail file n,输出file的后n行,如果行数不足则输出整个文件
实现思路:使用缓冲区从后往前读(避免一个个字符读取消耗cpu),然后对换行符计数,直到遇到文件首或者行数达到要求。
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#define BUFFERSIZE 1024
int get_br_pos(char *buf, int count, int &br_num);
int main(int ac, char *arv[]){
int line_num = 10;
if(ac != 2 && ac != 3){
printf("arguments error!");
exit(1);
}