//這是一個使用read函數(shù)把目標文件中數(shù)據(jù)讀出寫入到另外一個文件中的實例 //待讀出數(shù)據(jù)文件由argv1參數(shù)給,待寫入數(shù)據(jù)文件由argv2給出 #include <fcntl.h> #include <unistd.h> #include <stdio.h> #define PERMS 0666 #define DUMMY 0 #define MAXSIZE 1024 //常數(shù)定義 int main(int argc, char *argv[]) { int sourcefd, targetfd; //目標文件和源文件的描述符 int readCounter = 0; //讀出的字符計數(shù)器 char WRBuf[MAXSIZE]; //讀寫緩沖區(qū) if(argc!=3) //如果命令行參數(shù)不爭取正確 { printf("Plz input the correct filename as './exam311ReadFun filename1 filename2'\n"); return 1; } if((sourcefd = open(*(argv+1),O_RDONLY,DUMMY))==-1) //如果源文件打開失敗 { printf("Source file open error!\n"); return 2; } if((targetfd = open(*(argv+2), O_WRONLY|O_CREAT, PERMS))==-1) //如果目標文件打開失敗 { printf("Target file open error!\n"); return 3; } while(( readCounter = read(sourcefd, WRBuf, MAXSIZE))>0) //如果讀出來的數(shù)據(jù)大于0 { if(write(targetfd, WRBuf,readCounter) != readCounter) //如果寫入的數(shù)據(jù)和讀出的數(shù)據(jù)不同 { printf("Target file write error!\n"); //寫數(shù)據(jù)錯誤 return 4; } } close(sourcefd); //關閉源文件 close(targetfd); //關閉目標文件 return 0; }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站題目:[Linux文件]使用read函數(shù)從文件讀取數(shù)據(jù)的實例-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article30/cspjso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、標簽優(yōu)化、Google、網(wǎng)站建設、搜索引擎優(yōu)化、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)