Linux文件IO的代碼怎么寫

本篇文章為大家展示了Linux 文件IO的代碼怎么寫,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是專業(yè)的南開網(wǎng)站建設(shè)公司,南開接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行南開網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

簡述


Linux下的所有資源都被抽象為文件,所以對所有資源的訪問都是以設(shè)備文件的形式訪問,設(shè)備文件的操作主要包括:打開、關(guān)閉、讀、寫、控制、修改屬性等。下面的示例代碼主要是對文本文件的拷貝。

其實(shí)對于一些復(fù)雜一點(diǎn)的設(shè)備,主要操作也是類似,比如攝像頭,在linux下也是一個設(shè)備文件,打開之后,可以讀取攝像頭的參數(shù),然后可以讀取圖像數(shù)據(jù),讀取到的圖像數(shù)據(jù)可以編碼后保存到文件中,這就是錄像的過程,也可以把讀到的圖像數(shù)據(jù)送到LCD顯示屏的幀緩存去顯示出來。

再比如串口的操作,在Linux下,對于串口通信,也是設(shè)備文件的讀寫操作:打開設(shè)備文件--->配置參數(shù)(波特率、停止位、校驗(yàn)位等)--->讀取/寫入數(shù)據(jù)。

代碼


#include <stdio.h>#include <unistd.h>#include <string.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>  #define M 128 int main(int argc, char **argv){    if(argc < 3){        printf("Usage:%s,<file1>,<file2>\n",argv[0]);        return -1;    }     int fd1,fd2;    char buf[M];    int count = -1;     memset(buf, '\0', M);    if((fd1 = open(argv[1],O_RDONLY)) == -1){        perror("open file1 error:");        return -1;    }    if((fd2 = open(argv[2],O_RDWR | O_CREAT,0644)) == -1){        perror("open file2 error:");        return -1;    }      while(count != 0){        if((count = read(fd1,buf,M)) == -1){            perror("read file1 error:");            return -1;        }         if((count = write(fd2,buf,count)) == -1){            perror("write error:");            return -1;        }    }    close(fd1);    close(fd2);    return 0;}

編譯運(yùn)行


$ gcc copy.c -o copy$ ./copy copy test

運(yùn)行結(jié)果:

$ lscopy  copy.c  test $ diff copy test  $

運(yùn)行結(jié)果,程序?qū)ζ渥陨砜截惲艘环轂閠est的文件,用diff命令比較兩個文件,沒有差異,完全一樣,說明拷貝成功了。

上述內(nèi)容就是Linux 文件IO的代碼怎么寫,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:Linux文件IO的代碼怎么寫
當(dāng)前鏈接:http://bm7419.com/article24/gospje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)網(wǎng)站排名、電子商務(wù)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)