今天学了文件IO的知识,文件IO的函数包括 open,close,umask,write,read,lseek
以下是用文件IO来实现图片的拷贝
#include<stdio.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int fpr =open("./apk.png",O_RDONLY); //原图片可读
int fpw =open("./ios.png",O_WRONLY);
char arr[10]="";
ssize_t a=0;
while(1)
{
bzero(arr,sizeof(arr)); //刷新内存
a=read(fpr,arr,sizeof(arr)-1); //读取图片内的内容
write(fpw,arr,a); //将内容写入到新的图片中
if(0 == a)
{
break;
}
}
return 0;
}
后面的是用标准IO来实现图片的拷贝
#include<stdio.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
int main(int argc, const char *argv[])
{
FILE* fpr = fopen("./apk.png", "r");
FILE* fpw = fopen("./ios.png", "w");
char c=0;
while(fpr != EOF)
{
fread(&c, sizeof(char), 1, fpr); //读取图片中的信息
fwrite(&c, sizeof(char), 1, fpw); /读完一个拷贝一个
}
fclose(fpr);
fclose(fpw);
return 0;
}
最后的运行环节就是将原图片重新拷贝出一个新的