06Linuxwuliqiang.blog.chinaunix.net
linux_wuliqiang
业精于勤,荒于嬉
全部博文(763)
生活小常识(7)
git(3)
Socket(12)
Bash(1)
命令(Commond)(7)
服务器(32)
Linux内核(0)
vi_gcc_gdb_emacs(3)
Makefile(8)
C++容器(7)
项目管理(0)
代码管理(3)
Android(18)
MTK(3)
Iphone(109)
Symbian(0)
点阵字库(3)
环境搭建(1)
寻路算法(2)
字库相关(2)
Unity3D(17)
MD2_3D动画显示(1)
地图相关(11)
Hge Engine(0)
Cocos2d(14)
文件解析(3)
图片解析(11)
OpenGL(53)
游戏架构(1)
ECMAScript(1)
Flash(0)
Html5(11)
Jsp(6)
Eclipse(4)
J2ee_project(0)
文件上传(0)
UI(0)
J2ME(14)
reportTable(0)
2018年(6)
2017年(15)
2016年(2)
2015年(31)
2014年(14)
2013年(87)
2012年(75)
2011年(94)
2010年(190)
2009年(38)
2008年(183)
2007年(28)
Tay_linu
niao5929
shencz20
qssjh035
mugua250
youngmam
xixichen
CU官方博
commshar
leonlinl
leleston
smile124
甜菜妙妙
test1
xinshou6
bingor
speed
格伯纳
分类: C/C++
2009-02-09 22:27:57
/** 定义函数 char * IntToChar(char* pDestStr, int nSrcNum);* 表头文件 #include * 函数描述 将整型数字转换为字符串,(正负数都可以),pDestStr 要有足够的空间来* 容纳转换后的字符串。* 返回值 成功:返回转换后的字符串 失败:返回NULL * 作 者 武立强* 时 间 2009-02-06* 注 意 时刻注意指针现在指到那里了,malloc() 和free()的个数一定要相同* 千万小心内存泄露,和野指针的出现。*/char * IntToChar(char* pDestStr, int nSrcNum){ assert( NULL != pDestStr ); int nTemp = 0; //存储一个位的数字 int nPlace = 0; //存储小数点的位置 int nNegative = 0; // 1--负数, 0---非负数 char* pTemp = NULL; char* pFirst = NULL; int nLen = 0; // 转换后字符串的长度 pTemp =(char*)malloc( sizeof(char)*100 ); if(NULL == pTemp) { return NULL; } memset(pTemp, '\0', 100); pFirst = pTemp; // 判断是否是负数 if(nSrcNum < 0) { nSrcNum = -nSrcNum; nNegative = 1; } // 当循环结束后,nTemp 指向字符串的最后! while( nSrcNum >= 10) { nTemp = nSrcNum % 10; *pTemp = nTemp + 48; // nTemp + 48 数字转成字符 nSrcNum = nSrcNum / 10; // 两个正数相除,结果取整 pTemp++; } *pTemp = nSrcNum + 48; if(nNegative) { *(++pTemp) = '-'; } nLen = strlen(pFirst); pFirst = pDestStr; //字符串反转 for(int i=0; i<nLen; i++) { *pDestStr++ = *pTemp--; } pTemp++; // 指向字符串开始 *pDestStr = '\0'; // 字符串结束, 切记! // 释放分配在堆上的内存. free(pTemp); pTemp = NULL; pDestStr = NULL; return pFirst;}
上一篇:StringFind
下一篇: 50 条人生忠告
登录 注册