zoukankan      html  css  js  c++  java
  • Linux C/C++基础 文件(中)

     1.ubuntu cat命令的实现

    cat——查看或者合并文件内容

    #include<stdio.h>
       
    int main(int argc,char* argv[])
    {
       
          //1.打开文件,文件路径,argv[1]
          //2.读取文件的内容,将内容显示到屏幕
          //3.关闭文件
          FILE*fp=fopen(argv[1],"r");
       
          while(1)
          {
              if(feof(fp))
              {
                 break;
              }
              ch=fgetc(fp);
             printf("%c",ch);
          }
          fclose(fp);
          fp=NULL;
          return 0;
    }

          上面实现了cat的功能,但是在执行的时候还需要加./

          下面将mycat加入到bin目录,实现不加./,直接输入命令功能

          用which cat查看cat在那个目录

           

     

       2.最基本的vim命令的实现

      1 #include<stdio.h>                                                                                          
      2 #include<string.h>
      3 int main(int argc,char*argv[])
      4 {
      5    //1.已写的方式打开,w,路径为argv[1]
      6    //2.从键盘读取内容fgets(),放在字符数组
      7    //3.字符数组内容,一个一个字符往文件写
      8    //4.关闭文件
      9 
     10    FILE*fp=fopen(argv[1],"w");
     11    char buf[1024];
     12    while(1)
     13    {
     14        //默认遇到换行符,此处结束读取,换行符都放在buf
     15        //fgets()按行读取
     16        fgets(buf,sizeof(buf),stdin);
     17        //如果用户输入的内容为:wq,结束,保存文件,strncmp函数用于比较特定长度的字符串,当string1大于string2时,返回1;等于时,返回0;小于时,返回-1。
     18         if(strncmp(buf,":wq",3)==0)
     19         {
     20            break;
     21         }
     22         int i=0;
     23         while(buf[i]!='')
     24         {
     25             fputc(buf[i],fp);
     26             i++;
     27         }
     28    }
     29 
     30    fclose(fp);
     31    fp=NULL;
     32 
     33    return 0;
     34 
     35 }
     36    

               

    知识的二道贩子,此博客仅仅是个人学习总结!
  • 相关阅读:
    SpringBoot整合RabbitMQ
    NIO
    eclipse配置maven
    IDEA常用快捷键
    IDEA如何快速查看类中的属性和方法?
    Java之IO流
    JS判断对象是否包含某个属性
    Jquery获取链接请求的参数
    JS中indexOf的用法
    JS驼峰与下划线互转
  • 原文地址:https://www.cnblogs.com/xiangdongBig1/p/11845384.html
Copyright © 2011-2022 走看看