自编printf 函数

原创 2015年11月18日 17:10:31
<pre name="code" class="html">#include "stdafx.h"
#include <stdio.h>
#include "ZRprintf.h"

void Printf(const char *pFormate,...)
{
   char *pTemp =(char*)&pFormate;
    pTemp+=4;

	while(*pFormate)
	{  
		if( '%' != *pFormate)
		{
		  putchar(*pFormate);
		  pFormate++;
		}

	   if( '%' == *pFormate)
	   {
		   pFormate++;
	      switch(*pFormate)
		  {
		  case 'c':
		  case 'C':
			  {
				  putchar(*pTemp);
				  pTemp+=4;
				  pFormate++;
			  }
			  break;
		  case 's':
		  case 'S':
			  {
			      char *pChar = *(char**)pTemp;

				  for( int i =0 ;'\0' != pChar[i];i++)
				  {
				    putchar(pChar[i]);
				  }
			      pTemp+=4;
				  pFormate++;
			  }
			  break;
		  case 'd':
		  case 'D':
			  {
			     char szBuf[256] = "";

			  	 Itoa(*(int*)pTemp,szBuf);

				 for(int i =0 ;'\0' != szBuf[i];i++)
				 {
				   putchar(szBuf[i]);
				 }
				 pTemp+=4;
				 pFormate++;
			  }
			  break;		  
		  }	   
	   }	
	}
}

void Itoa(int nNum,char *pStr)
{
	int nTemp = nNum;
    int count = 0;

	if( nNum < 0)
	{ 
	   nTemp = -nNum;
	   while( nTemp > 0)
	   {
	     nTemp = nTemp/10;
		 count++;
	   }

       nNum = -nNum;

	   for(int i = count; i >0 ;i--)
	   {
	     pStr[i] = nNum%10 + '0';
		 nNum = nNum/10;
	   }
	   pStr[count+1] = '\0';
	   pStr[0] = '-';	
	}
   else if( nNum > 0)
   {
     while( nTemp > 0)
	 {
	   nTemp = nTemp/10;
	   count++;
	 }
	 
	 for(int i = count-1; i >= 0; i--)
	 {
	    pStr[i] = nNum%10 +'0';
		nNum = nNum/10;
	 }
     
	 pStr[count] = '\0';
   }   
   else
   {
     pStr[0] = '0';
   }
}




                    
版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言 自编函数:是否素数 是否倍数 是否完美数

是否素数: #include #include #include int prime(int); int main () { //自己编写函数,判断输入的数是否为素数。 while (1!=0...

发个MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数

转载来自;http://blog.csdn.net/TXUANXUAN/article/details/44921163?locationNum=8 发个MatLab 自编的 均值滤波、中值...

数据分析中非常实用的自编函数和代码模块整理

搞了接近四个周的模型开发工作,今天整理代码文件,评分卡模型基本告一段落了。那么在模型开发或者是我们日常的数据分析工作中,根据我们具体的业务需求,经常会重复地用到某些模块的功能。而这些模块的功能在R的p...

自编删除目录及其下属文件的函数

高版本的MS-DOS和Windows95 都提供了一个可以删除一个或多个目录及其下属文 件和目录的命令,即DeleteTree命令。然而,无论在MFC类库 还是在Win32函数库中,都没有相应的函数与...

MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数(转)

MatLab自编的均值滤波、中值滤波、高斯滤波 图像处理函数。 %自编的均值滤波函数。x是需要滤波的图像,n是模板大小(即n×n) function d=avefilt(x,n)  a(1:...

MatLab自编的均值滤波、中值滤波、高斯滤波三种滤波算子,可以直接调用 图像处理函数

%自编的均值滤波函数。x是需要滤波的图像,n是模板大小(即n×n) function d=avefilt(x,n) a(1:n,1:n)=1; %a即n×n模板,元素全是1 p=size(x)...

MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数

原址链接http://bbs.ednchina.com/BLOG_ARTICLE_2062264.HTM  虽然matlab里面有这些函数,但是要求自己编写,计算机视觉上有这个实验,是别人编...

c语言常见函数自编写

//1.子字符串查找,如果找到返回第一个字符下标,找不到返回-1 复杂度O(m*n) int strfind(const char * str,const char* substr) { if(s...

自编插值函数

  • 2012年12月13日 16:23
  • 320B
  • 下载

自编Matlab函数实现图像缩放

  • 2010年04月22日 14:32
  • 464B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自编printf 函数
举报原因:
原因补充:

(最多只允许输入30个字)