mp3、mp4、txt、bmp、jpg、exe、rmvb等等
1. 为什么这里面又有这么多种格式的文件呢?原因很简单,它们各有各的用途,区分就在于这些文件里面存放的数据集合所遵循的存储规则不一样
2. 它有固定的格式,哪一段到哪一段,哪个偏移到哪个偏移应该存放什么数据是规定好了的。比如有文件头,一般是一个结构体,存放的文件的一些信息,如图片的大小,像素等等。后面是数据区
举例
#include <stdio.h>
#include <string.h>
int main()
{
FILE *pf=fopen("aa.jpg","rb"); //rt也可以
FILE *pf1=fopen("bb.jpg","wb");
char buf[8];
while(!feof(pf))
{
memset(buf,0,8);
fread(buf,1,8,pf);
fwrite(buf,1,8,pf1);
}
fclose(pf);
fclose(pf1);
return 0;
}
//将文件存到buf
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *pf=fopen("aa.jpg","rt");
//查看文件大小
int size = 0;
fseek(pf,0L,SEEK_END);
size = ftell(pf);
#if 0
int fd = open("aa.jpg", O_RDONLY);
size = lseek(fd, 0, SEEK_END);
#endif
fseek(pf,0L,SEEK_SET);
printf("%d\n",size);
//写到buf
char *buf;
buf = (char*)malloc(size);
int i = 0;
while(!feof(pf))
{
fread(&buf[i++],1,1,pf);
}
}