【C语言】图片文件 预处理

标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。

__LINE__ 表示当前源代码行号  类型是一个整数类型
__FILE__ 表示当前.c的文件名  类型是一个字符串类型
__DATE__ 表示编译文件的日期  类型是一个字符串类型
__TIME__ 表示编译文件的时间  类型是一个字符串类型 

#include<stdio.h>

int add(int a,int b)
{
	return a+b;
}
int sub(int a,int b)
{
	return a-b;
}
int mul(int a,int b)
{
	return a*b;
}
int div(int a,int b)
{
	return a/b;
}
int adv(int a,int b)
{
	return a%b;
}
int main()
{
	int a= 10;
	int b = 20;
	FILE *fp = fopen("./20220921.log","w+");
	if(fp == NULL)
	{
		printf("open failed\n");
	}
	
	int ret1 = add(a,b);
	fprintf(fp,"line:%d %d\n",__LINE__,ret1);
	
	int ret2 = sub(a,b);
	fprintf(fp,"file:%s %d\n",__FILE__,ret2);
	
	int ret3 = mul(a,b);
	fprintf(fp,"date:%s %d\n",__DATE__,ret3);
	
	int ret4 = div(a,b);
	fprintf(fp,"time:%s %d\n",__TIME__,ret4);

	int ret5 = adv(a,b);
	fprintf(fp,"file:line:date:time:%s\n",__FILE__,__LINE__,__DATE__,__TIME__,ret5);
	return 0;
 }

 

图片也是属于文件类型的一种,图片属于二进制文件。使用fopen函数的二进制模式“rb”就可以打开。

例程:

#include<stdio.h>
int main()
{
	FILE *fp = fopen("./1.jpg","rb");
	if(fp == NULL)
	{
		printf("oprn failed"); 
	}
	FILE *fq = fopen("./2.jpg","wb");
	if(fq == NULL)
	{
		printf("oprn failed"); 
	}
	rewind(fp);
	char str[100];
	char ch;
	while(1)
	{
		if(feof(fp) != 0)
		{
			break;
		}
		ch = fgetc(fp);
		fputc(ch,fq);
	}
	fclose(fp);
	fclose(fq);
	return 0;
 } 


版权声明:本文为m0_73189710原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。