课后思维导图
一、写一个日志文件,将程序启动后,每一秒的时间写入到文件中
不会
二、
使用fread、fwrite完成两个文件的拷贝
不允许只读写一次
#include <myhead.h>
void cpfile(const char *dst,const char *src)
{
FILE *fp1=NULL;
FILE *fp2=NULL;
if((fp1=fopen("./usr.txt","r"))==NULL)
{
perror("fopen error");
return -1;
}
if((fp2=fopen("./usr.txt","w"))==NULL)
{
perror("fopen error");
return -1;
}
char buf[1000]="";
while(1)
{
int res=0;
res=fread(buf,1,sizeof(buf),fp1);
if(res==0)
{
break;
}
fwrite(buf,1,res,fp2);
}
fclose(fp1);
fclose(fp2);
}
int main(int argc, char const *argv[])
{
if(argc != 3)
{
printf("拷贝成功!\n");
return -1;
}
cpfile(argv[1],argv[2]);
return 0;
}
三、实现对bmp图像的读写操作
#include <myhead.h>
int main(int argc, char const *argv[])
{
FILE *fp=NULL;
if((fp=fopen("./gg.bmp","r+"))==NULL)
{
perror("fopen error");
return -1;
}
int img_size=0;
//偏移
fseek(fp,2,SEEK_SET);
fread(&img_size,sizeof(img_size),1,fp);
//printf("size=%d\n",img_size);
fseek(fp,54,SEEK_SET);
unsigned char color[2]={0,255,0};
for(int i=0;i<960/2;i++)
{
for(int j=0;j<1280;j++)
{
fwrite(color,sizeof(color),1,fp);
}
}
fclose(fp);
return 0;
}