实现linux cat命令功能
一、需要用到的函数
fopen()、fgetc()、fputc()、feof()
一个字符的读写函数:
int fgetc(FILE *fp)
功能:从文件中读取一个字符
参数:文件流
返回值:正确为读取的字符,到文件结尾或出错时返回EOF
int fpuc(int c, FILE *fp)
功能:写一个字符到文件中
参数:第一个字符为要写的字符,第二个参数为文件流
返回值:成功则返回输入的字符,出错返回EOF
是否是行缓存函数?
fputc有缓存,但不是行缓存函数。
int feof(FILE *stream)
功能:判断是否已经到了文件结束
参数:文件流
返回值:到文件结束,返回为非0,没有则返回0
二、示例代码
/*
功能:将文件内容输出到显示器
*/
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp = fopen(argv[1], "r");//打开文件
int read_ret;
if(argc < 2)
{
printf("please input src file!\n");
}
if(fp == NULL)
{
printf("open src %s failed!\n", argv[1]);
return -1;
}
while(1)
{
read_ret = fgetc(fp);//读取文件
if(feof(fp))//判断是否读取完毕
{
printf("read file %s endl\n",argv[1]);
break;
}
fputc(read_ret,stdout);//将数据输出到屏幕
}
三、结果展示
四、使用我们自己实现的mycat命令
①将编译好的mycat拷贝到bin目录下,这样我们即可以使用我们自己编写的mycat命令查看文件,也可以使用
系统中cat命令查看文件
执行命令:cp mycat /bin
若权限不够则可使用拷贝:sudo cp mycat /bin
posted on 2016-11-16 15:13 jiangsion 阅读(2588) 评论(0) 编辑 收藏 举报