手动实现tail

Posted lalalatianlalu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动实现tail相关的知识,希望对你有一定的参考价值。

中间会把文件指针重新置到文件开始,要配合clear一起使用

#include <bits/stdc++.h>
using namespace std;

void tail(string path, int num)

  ifstream fin(path);
  string tmp;
  if (!fin) 
    cout << "the file is not open\n";
    return ;
  
  int len = 0;
  // while(fin.get(tmp)) 
  //   if (tmp == ‘\n‘)
  //     len++;
  //  //单个字符读取
  // 
  while(getline(fin, tmp)) 
    // if (tmp == ‘\n‘)
      len++;
    // cout << "aaa == " << tmp << ‘\n‘;
  
  fin.clear();
  fin.seekg(0, ios::beg);
  if (num <= len) 
    while(getline(fin, tmp)) 
      if (num == len)
        cout << tmp << \n;
      else
        num++;
    
   
  else 
    while(getline(fin, tmp)) 
      cout << tmp << "\n";
    
  


int main()

  tail("2.txt", 1);
  return 0;

 

以上是关于手动实现tail的主要内容,如果未能解决你的问题,请参考以下文章

Roland Pheasant 用 DynamicData 实现 Tail 方法

面试宝典_Python.运维开发.0004.用Python实现tail实时输出新增日志?

shell脚本实现同时管理多台服务器

python实现tail -f功能

python实现tail -f 功能

Python: yield, python 实现tail -f