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