写一个日志文件,将程序启动后,每一秒的时间写入到文件中
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
int main(){
FILE *fp=NULL;
char src[128]="";
if((fp=fopen("./user.txt","a+"))==NULL){
perror("fopen err");
return -1;
}
int num=1;
char arg[128]="";
while(1){
char *p=fgets(arg,sizeof(arg),fp);
if(p==NULL){
break;
}
if(arg[strlen(arg)-1]=='\n'){
num++;
}
}
while(1){
time_t sys_time=time(NULL);
char buf[128]="";
struct tm *time_ptr=localtime(&sys_time);
sprintf(buf,"%4d-%2d-%2d %2d:%2d:%2d\n",\
time_ptr->tm_year+1900,\
time_ptr->tm_mon+1,\
time_ptr->tm_mday,\
time_ptr->tm_hour,\
time_ptr->tm_min,\
time_ptr->tm_sec);
if(strcmp(buf,src)!=0){
fprintf(fp,"%d %s",num,buf);
fflush(fp);
fprintf(stdout,"%d %s",num,buf);
strcpy(src,buf);
num++;
}
}
fclose(fp);
return 0;
}
使用fread、fwrite完成两个文件的拷贝
#include<stdio.h>
int main(){
FILE *src=NULL;
if((src=fopen("./06.c","r"))==NULL){
printf("err");
return -1;
}
FILE *des=NULL;
if((des=fopen("./5.c","w"))==NULL){
printf("err");
return -1;
}
char a[5]="";
while(1){
int k=fread(a,1,5,src);
if(k<5){
fwrite(a,1,k,des);
break;
}
fwrite(a,1,k,des);
}
fclose(src);
fclose(des);
return 0;
}
实现对bmp图像的读写操作
#include<stdio.h>
int main(){
FILE *p=NULL;
if((fp=fopen("./gg.bmp","r+"))=NULL){
perror("fopen error");
return -1;
}
int img_size=0;
fwrite(&img_size,sizeof(img_size),1,fp);
printf("size=%d",img_size);
unsigned char color[3]={0,0,255};
for(int i=0;i<960/2;i){
for(int j=0;j<1280/2,j++){
fwrite(color,sizeof(color),1,fp);
}
}
fclose(fp);
return 0;
}