欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

linux c实现myecho、mycat、mycp

发布时间:2023/12/1 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 linux c实现myecho、mycat、mycp 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

myecho、mycat、mycp分别用于模拟系统命令echo、cat、cp
代码如下:
myecho

#include<stdlib.h> #include<stdio.h> int main(int argc,char *argv[]){if(argc==1){printf("Error:need parameter!\n");exit(0);}for(int i=1;i<argc;i++)printf("%s ",argv[i]);printf("\n");return 0; }

mycat

#include<stdio.h> #include<stdlib.h>int main(int argc,char *argv[]){FILE *fp;int fsize;char *buffer;if(argc!=2){printf("Error:parameter wrong...\n");exit(0);}fp=fopen(argv[1],"r");if(!fp){printf("Error:can't open the file!\n");exit(0);}fseek(fp,0,SEEK_END);fsize=ftell(fp);rewind(fp);buffer=(char*)malloc((1+fsize)*sizeof(char));if(!buffer){printf("Error:memory malloc wrong!\n");exit(0);}fread(buffer,1,fsize,fp);printf("%s\n",buffer);fclose(fp);free(buffer);return 0;}

mycp

#include<stdio.h> #include<stdlib.h>int main(int argc,char *argv[]){FILE *fp;int fsize;int fr;char *buffer;if(argc!=3){printf("Error:wrong parameter...\n");return 0;}fp=fopen(argv[1],"r");if(!fp){printf("Error:can't open the file!\n");exit(0);}fseek(fp,0,SEEK_END);fsize=ftell(fp);rewind(fp);buffer=(char *)malloc((1+fsize)*sizeof(char));if(!buffer){printf("Error:memory wrong!\n");exit(0);}fr=fread(buffer,1,fsize,fp);if(!fr){printf("Error:read wrong!\n");exit(0);}fclose(fp);fp=fopen(argv[2],"w");if(!fp){printf("Error:open file wrong!\n");exit(0);}fwrite(buffer,1,fsize,fp);fclose(fp);free(buffer);return 0;}

欢迎留言交流。。。。

总结

以上是生活随笔为你收集整理的linux c实现myecho、mycat、mycp的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。