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;}

歡迎留言交流。。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375956.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375956.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375956.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Emmet快速開發

標簽元素關系展開 div.wrap>div.content>(div.inner_ldiv.inner_r)^div.sider------縮寫展開如下----------------------------------------------<div class"wrap"><div class"content"><div class"inner_l"></div&…

IOS 基于APNS消息推送原理與實現(JAVA后臺)

Push的原理&#xff1a;Push 的工作機制可以簡單的概括為下圖圖中&#xff0c;Provider是指某個iPhone軟件的Push服務器&#xff0c;這篇文章我將使用.net作為Provider。APNS 是Apple Push Notification Service&#xff08;Apple Push服務器&#xff09;的縮寫&#xff0c;是蘋…

suse linux 查看cpu,Suse Linux zmd 耗用100% CPU

最近的SUSE Linux 10(SP3)的top命令總是顯示zmd進程耗用了100%的CPU資源&#xff0c;而整個系統中system級別占用CPU則占用了40%以上且根本不曾釋放。嘗試重啟服務器之后&#xff0c;故障依舊。下面是這個問題的描述與處理。1、top命令顯示zmd cpu占用100%&#xff0c;system u…

linux系統調用open、write、close、read以及stat函數詳解

學習筆記 參考鏈接1 、參考鏈接2以及百度百科 在進行C語言學習的時候我們了解到了C語言相關的一些IO操作&#xff0c;如fopen&#xff0c;fwrite&#xff0c;fread&#xff0c;fprintf&#xff0c;fclose等相關函數&#xff0c;他們都是由C庫函數提供的一些函數&#xff0c;是…

關于objective-c的一點隨筆

多日混跡cocoachina&#xff0c;這篇隨筆算是積累點前人經驗吧。 首先&#xff0c;要多逛兩個很好的網站&#xff0c;Stack Overflow和github. 對于新人&#xff0c;一定要注意良好的格式和命名&#xff0c;不然對于日后回頭看代碼會非常難&#xff0c;oc不限制變量名稱和函數名…

【轉載】Ubuntu環境下配置Android Studio

之前學習Android開發的時候&#xff0c;一直跟各種教程一樣&#xff0c;使用的是EclipseADT&#xff0c;主要是比較方便&#xff0c;容易上手&#xff0c;特別是對于習慣用Eclipse開發java的朋友來說&#xff0c;上手更是好無壓力。但畢竟EclipseADT最多只能算Google的干兒子&a…

linux怎么進去vi編輯器,red hat enterprise linux開機怎么進入vi編輯器界面?

2015-05-21 回答后面輸入直接打回車就會顯示出來如下xx文件#■sa■jsadjk#■sa■jsklfjdl kl■sa&#xff1a;----現在是低行模式 現在按esc 進入第一個模式(命令模式)就變成下面xx文件#dsadjsadjk#dsadjsklfjdl kldsa現在我們按個v 就進入可是模式 現在我們一個移動光標選擇要…

數據結構--鏈式線性表

環境&#xff1a;dev c #include<stdio.h> #include<stdlib.h>typedef struct LNode *List; typedef int ElementType;struct LNode{ElementType Data;List next; };int Length(List Ptrl); List FindKth(int k,List Ptrl); List Find(ElementType x,List Ptrl); …

linux査 到漠河 裝apache,如何在Ubuntu上搭建一臺安全的Apache?Web服務器

滿意答案1.安裝Apache2使用下面這個命令&#xff0c;安裝Apache2及其他庫。1$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli…

vs2010 中添加 ActiveX Control Test Container工具

vs2010中的TSTCON( ActiveX Control Test Container )工具非自動安裝&#xff0c;而是作為一個例程提供。所以應找到該例程&#xff0c;并編譯&#xff1a; 如vs2010安裝在默認路徑則 1, 進入&#xff1a;C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033&#xff…

linux c實現mypwd

這個其實很簡單&#xff0c;只需要調用getcwd()這個函數就行了。 char *getcwd(char *buffer,int maxlen); 功能&#xff1a;獲取當前工作目錄 參數&#xff1a;buffer指向用來存儲絕對路徑的數組&#xff0c;maxlen絕對路徑的字符大小 返回&#xff1a;成功則返回當前的工作目…

安裝Discuz

1.下載Discuz 版本文件http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip2.下載PHPhttp://windows.php.net/downloads/releases/php-5.6.9-Win32-VC11-x64.zip把里面文件的php.ini-development 更名為php.ini Uncomment下列語句 extension_dir "ext"…

linux跑caffe模型的步驟,Caffe初步實踐——使用訓練好的模型完成語義分割任務

Caffe剛剛安裝配置結束&#xff0c;乘熱打鐵&#xff01;(一)環境準備前面我有兩篇文章寫到caffe的搭建&#xff0c;第一篇cpu only &#xff0c;第二篇是在服務器上搭建的&#xff0c;其中第二篇因為硬件環境更佳我們的步驟稍顯復雜。其實&#xff0c;第二篇也僅僅是caffe的初…

關于 Code First

第一感覺還是很新鮮的&#xff0c;你可以自由的控制數據結構。 比如&#xff0c;你想象oracle那樣&#xff0c;給每個表增加4個字段&#xff0c;創建人&#xff0c;創建時間&#xff0c;更新人&#xff0c;更新時間。完全可以創建一個父類包含著四個屬性&#xff08;甚至可以把…

靈悟禮品網上專賣店——新建數據庫

一、小組成員&#xff1a; 洪雪意&#xff08;產品負責人&#xff09; 陳淑筠&#xff08;Master&#xff09; 二、組內人員任務情況 計劃完成的任務的第三個模塊&#xff1a;分析并建立數據庫 已完成的任務&#xff1a; 任務的第三個模塊&#xff1a; 陳淑筠&#xff08;負責…

操作系統上機題目(多進程1)

1、創建1個子進程2、程通過管道與子進程連接 子進程的標準輸出連接到管道的寫端主進程的標準輸入連接到管道的讀端3、進程中調用exec(“echo”, “echo”, “hello world”, NULL)4、進程中調用read(0, buf, sizeof(buf))&#xff0c;從標準輸入中獲取子進程發送的字符串&…

Oracle數據庫dmp文件Dos命令下導入導出

Oracle數據庫dmp文件Dos命令下導入導出 2013-03-09 18:22:52| 分類&#xff1a; Oracle |舉報|字號 訂閱 數據導出: 一. 導出工具exp 他是操作系統下一個可執行的文件,存放目錄/Oracle_Home/bin. exp導出工具將數據庫中數據備份壓縮成一個二進制系統文件,可以在不同的OS間遷…

c語言報錯找不到標識符,error C3861: “_T”: 找不到標識符

頭天好好的程序&#xff0c;第二天一早就報錯&#xff0c;還是莫名其妙的錯誤&#xff1a;atlconv.h等頭文件中的“_T” 報錯&#xff0c;百思不得其解&#xff0c;各種搜索而不得&#xff0c;整個人都崩潰了。出問題一定是有原因的&#xff0c;后來冷靜下來&#xff0c;縷縷思…

js 面向對象插件寫法,還是很好理解的

/** * Created by jiangtao on 2015/5/12. * name jihe */(function () { function gather(msg) { //適應參數 if (msg) { if (msg.imgFile ! undefined) { this.imgFile msg.imgFile; }; if (msg.wechatAppid ! undefined) { this.wechatAppid msg.wechatAppid; }; }; this.…

操作系統上機題目(多進程2)

1、主進程創建2個子進程&#xff0c;主進程通過兩個管道分別與兩個子進程連接2、第一個子進程計算從1加到50的和&#xff0c;并將結果通過管道送給父進程3、第一個子進程計算從50加到100的和&#xff0c;并將結果通過管道送給父進程4、父進程讀取兩個子進程的結果&#xff0c;將…