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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MCS-51单片机原理_51单片机的基本结构

    MCS-51单片机原理_51单片机的基本结构MCS-51单片机结构及原理MCS-51单片机结构MCS-51单片机的内部结构MCS-51引脚及功能MCS-51的存储器结构存储器划分方法程序存储器数据存储器单片机的复位、时钟与时序复位与复位电路MCS-51单片机结构MCS-51单片机的内部结构SCM——将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统80C51=(1×8)CPU+128BRAM+4KBROM+……

    2022年9月27日
    4
  • 信息安全行业里面一些很不错的书

    信息安全行业里面一些很不错的书

    2022年3月4日
    58
  • 水晶报表动态显示小数点后的位数(去掉多余的0)

    水晶报表动态显示小数点后的位数(去掉多余的0)

    2021年9月1日
    58
  • htmla标签下划线去除_html超链接的下划线怎么去掉?a标签去下划线的方法都在这里…

    htmla标签下划线去除_html超链接的下划线怎么去掉?a标签去下划线的方法都在这里…本篇文章就是关于html超链接取消下划线的用法,教你如何快速的去掉HTML超链接下划线的方法,最后还有相关代码解释,下面就让我们一起看看这篇文章吧首先我们使用css的基础样式来做一个最简单的去下划线的方法:htmla超链接标签,默认有的浏览器显示有下划线,有的没有下划线,大多锚文本超链接A标签内字体是有下划线的,怎么去除超链接下划线?html超链接去除下划线怎么做?去掉去除超链接锚文本的…

    2022年6月3日
    42
  • k8s pod控制器_k8s控制器

    k8s pod控制器_k8s控制器k8sPod控制器的介绍ReplicaSet(RS)Deployment(Deploy)扩缩容镜像更新版本回退金丝雀发布Horizontal Pod Autoscaler(HPA)DaemonSet(DS)JobCronJob(CJ)StatefulSet(有状态)StatefulSet的金丝雀发布k8s的Pod控制器详解主要介绍各种Pod控制器的详细使用。Pod控制器的介绍在kubernetes中,按照Pod的创建方式可以将其分为两类:自主式Pod:kubernetes直接创建出来的Pod,这

    2022年8月11日
    11
  • 导航栏滚动渐变效果 html+css+js

    导航栏滚动渐变效果 html+css+js先看效果:实现:1.定义导航栏的文字标签:<divclass=”tou”><sapnclass=”logo”>北极光。</sapn><ulclass=”biao”><li><ahref=”#”><ahref=”#”>主页</a></li><li><ahref=”#”>个人简介</

    2022年5月8日
    41

发表回复

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

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