Linux C/C++基础 文件(中)
2024-09-05 12:37:35
1.ubuntu cat命令的实现
cat——查看或者合并文件内容
#include<stdio.h> int main(int argc,char* argv[])
{ //1.打开文件,文件路径,argv[1]
//2.读取文件的内容,将内容显示到屏幕
//3.关闭文件
FILE*fp=fopen(argv[],"r"); while()
{
if(feof(fp))
{
break;
}
ch=fgetc(fp);
printf("%c",ch);
}
fclose(fp);
fp=NULL;
return ;
}
上面实现了cat的功能,但是在执行的时候还需要加./
下面将mycat加入到bin目录,实现不加./,直接输入命令功能
用which cat查看cat在那个目录
2.最基本的vim命令的实现
#include<stdio.h>
#include<string.h>
int main(int argc,char*argv[])
{
//1.已写的方式打开,w,路径为argv[1]
//2.从键盘读取内容fgets(),放在字符数组
//3.字符数组内容,一个一个字符往文件写
//4.关闭文件 FILE*fp=fopen(argv[],"w");
char buf[];
while()
{
//默认遇到换行符,此处结束读取,换行符都放在buf
//fgets()按行读取
fgets(buf,sizeof(buf),stdin);
//如果用户输入的内容为:wq,结束,保存文件,strncmp函数用于比较特定长度的字符串,当string1大于string2时,返回1;等于时,返回0;小于时,返回-1。
if(strncmp(buf,":wq",)==)
{
break;
}
int i=;
while(buf[i]!='\0')
{
fputc(buf[i],fp);
i++;
}
} fclose(fp);
fp=NULL; return ; }
最新文章
- NET Core-学习笔记(四)
- Js 日期转换函数(UTC时间转换及日期想加减)
- 解决bootstrap模态框内输入框无法获取焦点
- zxing--条码图像处理库
- HTML CSS微信CSS显示一些总结
- nrf51822裸机教程-SPI(主)
- 在C#中使用json字符串
- DelegatingFilterProxy
- VS2012添加ADO实体数据模型
- Spark:用Scala和Java实现WordCount
- 【转载】solr教程,值得刚接触搜索开发人员一看
- 【BZOj 3670】【UOJ #5】【NOI 2014】动物园
- protobuf c++ API
- Laravel 5 框架性能优化技巧
- PJSUA2开发文档--第五章 帐户(号)Accounts
- webView 获取内容高度不准确的原因是因为你设置了某个属性
- Tex: The top-level auxiliary file: *.aux I couldn&#39;t open style file IEEEtran.bst 解决方法
- thrift0.5入门操作
- MySQL 第二篇:库操作
- 2018 黑盾杯部分writeup