标准IO函数

1>写一个日志文件,将程序启动后,每一秒的时间写入到文件中

#include <time.h>  
#include<myhead.h> 
int main(int argc, const char *argv[])
{  
  	//打开一个文件
	FILE *fp=NULL;
	if((fp=fopen("./日志文件.txt","a+"))==NULL)
	{
		perror("error");
		return -1;
	}


    char buf[128];  
    time_t last_time = 0; // 初始化为0,表示从未写入过  
  
    while (1)
	{  
        time_t now_time = time(NULL);  
  
              // 判断现在不是上次写入的时间
        if (now_time != last_time)
		{  
            struct tm *tm_now = localtime(&now_time);  
  		sprintf( buf,"%4d-%2d-%2d %2d:%2d:%2d\n",\
				tm_now->tm_year+1900,\
				tm_now->tm_mon+1,\
				tm_now->tm_mday,\
				tm_now->tm_hour,\
				tm_now->tm_min,\
				tm_now->tm_sec);

            // 写入到文件  
            fwrite(buf, sizeof(char), strlen(buf), fp);  
            fflush(fp);  
  
            // 更新上次写入时间  
            last_time = now_time;  
  
            // 打印到终端  
           // printf("%s", buf);  
        }  

    }  
  
	fclose(fp);
 
  
    return 0;  
}

2>使用fread、fwrite完成两个文件的拷贝

     1	 #include<myhead.h>
     2	int main(int argc, const char *argv[])
     3	{
     4		//判断传入文件
     5		if(argc!=3)
     6		{
     7			perror("file error");
     8			return -1;
     9		}
    10		//打开文件  
    11		FILE *fp1=NULL;         //源文件的打开
    12		if((fp1=fopen(argv[1],"r"))==NULL)
    13		{
    14			perror("fopen error");
    15			return -1;
    16		}
    17		
    18		FILE *fp2=NULL;         //目标文件的打开
    19		if((fp2=fopen(argv[2],"w"))==NULL)
    20		{
    21			perror("fopen error");
    22			return -1;
    23		}
    24		char buf[128]="";   //  临时容器
    25		while(!feof(fp1))      //feof区分文件是否结束
    26		{	
    27			int res=fread(buf,1,sizeof(buf),fp1);	//参数:地址\每一项大小 / 总数 /文件指针
    28			fwrite(buf,1,res,fp2);
    29		}	
    30		
    31		//关闭文件
    32		fclose(fp1);
    33		fclose(fp1);
    34	 
    35		return 0;
    36	}
    37	

3>实现对dmp图像的读写操作

     1	#include<myhead.h>
     2	int main(int argc, const char *argv[])
     3	{
     4		//定义文件指针
     5		//打开文件
     6		FILE *fp1=NULL;                      //打开源文件
     7		if((fp1=fopen("./gg.bmp","r"))==NULL)
     8		{
     9			perror("fopen error");
    10			return -1;
    11		}
    12	
    13	/*	FILE *fp2=NULL;                     //打开目标文件
    14		if((fp2=fopen("./new.bmp","w"))==NULL)
    15		{
    16			perror("fopen error");
    17			return -1;
    18		}*/
    19	
    20		int size=0;  //文件大小
    21	
    22		fseek(fp1,2,SEEK_SET);   //偏移2
    23	
    24		fread(&size,sizeof(size),1,fp1);
    25		
    26		printf("size = %d\n",size);     
    27		unsigned char color[3] = {0, 0, 255};     
    28	    for(int i=0; i<960/2; i++)          
    29	    {
    30	        for(int j=0;j<1280; j++)       
    31	        {
    32	            fwrite(color, sizeof(color), 1, fp1);
    33	        }
    34	    }
    35	    
    36	
    37	
    38	
    39	    //关闭文件
    40	    fclose(fp1);
    41		return 0;
    42	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值