实现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!
");
    }
    if(fp == NULL)
    {
        printf("open src %s failed!
", argv[1]);
        return -1;
    }

    while(1)
    {
           read_ret = fgetc(fp);//读取文件
           if(feof(fp))//判断是否读取完毕
          {
                  printf("read file %s endl
",argv[1]);
                  break;
          }
          fputc(read_ret,stdout);//将数据输出到屏幕
    }
 
                        

 三、结果展示

  

四、使用我们自己实现的mycat命令

  ①将编译好的mycat拷贝到bin目录下,这样我们即可以使用我们自己编写的mycat命令查看文件,也可以使用

   系统中cat命令查看文件

  执行命令:cp mycat /bin

  若权限不够则可使用拷贝:sudo cp mycat /bin      

原文地址:https://www.cnblogs.com/jiangson/p/6069646.html