Linux 命令tail手动实现

Linux 命令tail手动实现手动实现一个Linuxtail命令

大家好,又见面了,我是你们的朋友全栈君。

手动实现一个tail命令.默认输出十行.假如文件小于十行,则将文件全部输出.也可指定输出的行数.假如指定的行数超过了文件行数上限,则完整输出整个文件.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void tail(const char *filename,int count = 10)
{
	int realline = 0;
	char temp;
	string stackstr("");
	ifstream fd(filename);
	if(!fd)
	{
		cerr<<"open error!"<<endl;
		return;
	}
	while(fd.get(temp))
	{
		stackstr += temp;
		if(temp == '\n')
			realline++;
	}
	int j = 0;
	if(realline > count)
	{
		while(j < stackstr.length())
		{
			if(count == realline)
			{
				cout<<stackstr[j];
			}
			else
			{
				if(stackstr[j] == '\n')
					count ++;
			}
			j++;
		}

	}
	else
	{
		while(j < stackstr.length())
		{
			cout<<stackstr[j];
			j++;
		}
	}

}
int main(int argc,char**argv)
{
	tail("C:\\Users\\fjy\\Desktop\\new.txt",5);
	return 0;
}

tail函数第一个参数指定文件名,第二个参数指定输出的行数,默认为10.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144897.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月18日 下午2:20
下一篇 2022年5月18日 下午2:20


相关推荐

  • DropDownList 详解「建议收藏」

    DropDownList 详解「建议收藏」DropDownList控件用于创建下拉列表。DropDownList控件中的每个可选项都是由ListItem元素定义的!提示:该控件支持数据绑定!DropDownList控件是一个下拉式的选单,功能和RadioButtonListWeb控件很类似,提供用户在一群选

    2022年7月18日
    17
  • css float属性用法_不属于float的常用属性

    css float属性用法_不属于float的常用属性clear:both表示不允许左右两边的floatclear:left表示不允许左边floatclear:right表示不允许右边float

    2025年8月30日
    9
  • python mysql批量insert数据,Python向MySQL批量插数据的实例讲解

    python mysql批量insert数据,Python向MySQL批量插数据的实例讲解背景 最近测试 web 项目需要多条测试数据 sql 中嫌要写多条 就看了看 python 如何向 MySQL 批量插数据 pymysql 库 1 向 MySQL 批量插数据 importpymysq importdateti day datetime datetime now strftime Y m d H M S 参数值插入时间 db pymysql connect host

    2026年3月17日
    2
  • 新手到黑客的最全入门路径图(附全部学习资料下载)!

    新手到黑客的最全入门路径图(附全部学习资料下载)!点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事01入门介绍说到黑客,大家可能觉得很神秘,其实狭义上的黑客就是去寻找网站、系统、软件等漏洞,刚入门的黑客大部分从事渗透工作,而渗透大部分属于web安全方向,就是利用漏洞来取得一些数据或达到控制,让对方程序崩溃等效果。02一些常用的名词解释挖洞的话,就相当于在程序中查找漏洞,举一个不大恰当但容易理解的比喻,就像韩非子说所的那个

    2022年6月11日
    40
  • 一元函数微分学与多元函数微分学的对比学习

    一元函数微分学与多元函数微分学的对比学习一元函数微分学与多元函数微分学的对比学习

    2026年3月18日
    3
  • Java学习之多线程篇

    0x00前言在一个工具开发中,如果该工具需要不断的去执行同一个动作或者是请求的话,使用单线程是非常慢。还是拿一个目录扫描器来举例子,比如我们需要开发一个目录扫描器,我们的字典里有10000个字典,

    2021年12月12日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号