IO进程思维导图和练习题
思维导图
1将当前的时间写入到time. txt的文件中,如果ctrl+c退出之后,在再次执行支持断点续写
1.2022-04-26 19:10:20
2.2022-04-26 19:10:21
3.2022-04-26 19:10:22
//按下ctrl+c停止,再次执行程序
4.2022-04-26 20:00:00
5.2022-04-26 20:00:01
#include <head.h>
int main(int argc, const char *argv[])
{
FILE * fp=fopen("./time.txt","a+");
if(NULL==fp)
PRINT_ERROR("fopen error");
int i=1;
int res;
while(res=fgetc(fp)!=EOF)
{
if(res=='\n')
i++;
}
while(1)
{
time_t sec;
time_t res=time(&sec);
struct tm *t=localtime(&sec);
if(t==NULL)
PRINT_ERROR("localtime error");
fprintf(fp,"%d.%d-%d-%d %02d:%02d:%02d\n",i,t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
fflush(fp);
// fscanf(fp,"%d %d %d %d %02d %02d %02d",&i,&t->tm_year+1900,&t->tm_mon+1,&t->tm_mday,&t->tm_hour,&t->tm_min,&t->tm_sec);
printf("%d.%d-%d-%d %02d:%02d:%02d\n",i+k,t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
sleep(1);
i++;
}
return 0;
}
2.使用fwrite和fread函数实现图片的拷贝
prt sc ---截图
eog 文件名 ----》打开文件
#include <head.h>
int main(int argc, const char *argv[])
{
//1.以读取打开一个文件
FILE* fp1=fopen("../图片/1.png","r+");
FILE *fp2=fopen("./cv.png","w+");
if(NULL==fp1||NULL==fp2)
PRINT_ERROR("fopen error");
char buf[128]={0};
while(fread(buf,sizeof(char),1,fp1))
{
if( fwrite(buf,sizeof(char),1,fp2)==0)
return -1;
}
fclose(fp1);
fclose(fp2);
return 0;
}
ubu