91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux 文件IO的代碼怎么寫

發布時間:2021-10-22 10:51:30 來源:億速云 閱讀:134 作者:柒染 欄目:互聯網科技

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

簡述


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

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

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

代碼


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

編譯運行


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

運行結果:

$ lscopy  copy.c  test $ diff copy test  $

運行結果,程序對其自身拷貝了一份為test的文件,用diff命令比較兩個文件,沒有差異,完全一樣,說明拷貝成功了。

上述內容就是Linux 文件IO的代碼怎么寫,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 洪洞县| 永顺县| 青河县| 灵台县| 澄江县| 静海县| 黔西| 博野县| 女性| 兴宁市| 汉川市| 古蔺县| 荃湾区| 菏泽市| 建始县| 宾川县| 遂平县| 顺昌县| 龙南县| 深州市| 雅江县| 霸州市| 同仁县| 大港区| 香港| 西乌珠穆沁旗| 济南市| 九龙坡区| 普定县| 柯坪县| 酒泉市| 大新县| 乌拉特后旗| 肃南| 浏阳市| 安溪县| 武山县| 昌都县| 扶余县| 双城市|