码迷,mamicode.com
首页 > 其他好文 > 详细

手动实现tail

时间:2019-07-23 16:43:06      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:字符   str   void   getline   pac   out   clu   txt   not   

中间会把文件指针重新置到文件开始,要配合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

标签:字符   str   void   getline   pac   out   clu   txt   not   

原文地址:https://www.cnblogs.com/lalalatianlalu/p/11232506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!