Linux终端C语言实现图片拷贝
生活随笔
收集整理的這篇文章主要介紹了
Linux终端C语言实现图片拷贝
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們正常的圖片復制就很簡單 右鍵復制 然后粘貼就好了? 今天在LInux終端使用c語言對照片進行拷貝
首先得知道一點 圖片其實是由二進制0101組成的? 如下圖的照片二哈.jpeg
?然后進行代碼實現:
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<fcntl.h>#include<assert.h>int main(){int fdr = open("二哈.jpeg",O_RDONLY); //只讀int fdw = open("三哈.jpeg",O_WRONLY | O_CREAT,0600);//寫和創建三哈.jpeg 0600是權限if(fdr == -1 || fdw == -1) //創建和打開失敗 返回值為-1{exit(0);//直接終止掉程序}char buff[1024] = {0};int num = 0;while((num = read(fdr,buff,50)) > 0) //文件標識符往buff中去讀取 每次50個字節//ssize_t read(int fd, void *buf, size_t count);//這塊fdr是文件描述符 {write(fdw,buff,num); //每次寫入num個字節}close(fdr);close(fdw);}
然后來看實現該程序之后的文件夾目錄
?照片已經成功復制!
這塊還有個知識點就是在Windows下? 文本文件和二進制文件的讀取方法不一樣? 但是最底層來說 無論是文本文件還是二進制文件都是二進制0101這些數字組成的? 但是在Windows下還是有區別的? 在Linux下讀取? 打開? 創建什么的沒有區別!
“不要等,不要拖,想到了就去做”
總結
以上是生活随笔為你收集整理的Linux终端C语言实现图片拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。