|
|
发表于 2008-2-27 09:07:00
|
显示全部楼层
Re:只有两个参数的fprintf()
void PrintData(FILE *pf, BYTE FAR *pdata,int len)
{
int i;
int size;
size = len;
if(size>Max_Data_Len)
size=Max_Data_Len;
for(i=0;i<size;i++)
{
if(pdata<' ')//1.数组小于空格? (即不可见的控制字符)
{
switch (pdata)
{
case '\n'://2.遇到换行?
case '\r'://3.遇到回车?
fprintf(pf,"%c",pdata);//4.输出什么? 回车和换行保持原样子,还是回车换行
break;
default:
fprintf(pf,"\\%03d",pdata); // 控制字符转换成3位ASCII码数值
}
}
else fprintf(pf,"%c",pdata); // 其他字符保持原样
}
fprintf(pf,"\n");//5.输出什么? // 文件最后附加一个回车
}
这段程序的功能就是: 把文件里的控制字符用ASCII码替换,其他字符不变
|
|