itoa的实现
(我的编译器是VS2013)
itoa()函数表示:把一个整形转换为相应的字符串;eg: 整形1234 转换为“1234”,整形-123转换为“-123”。
itoa代码实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//itoa------(将整形转换为字符串)//字符串反转
char * reverse(char * str)
{char *head=str;//指向字符串首char *tail=str;//指向字符串尾while (*tail)//*tail!='\0'{++tail;}--tail;char temp;while (head < tail){temp = *head;*head++ = *tail;*tail-- = temp;}return str;
}//my_itoa
char * my_itoa(int a)
{int n = a;if (a < 0){a = -a;//如果是负数先转化为正数}static char str[100];//这里的str必须是静态变量或全局变量int i = 0;while (a>0)//从低位开始变为字符,最后进行翻转{ str[i++] = a % 10 + '0';//将数字转为字符串a = a / 10;}if (n < 0)//如果是负数加上‘-’号{str[i++] = '-';}str[i] = '\0';return reverse(str);
}//测试代码块
int main()
{ int a = 1234;cout << "原整形:" << a<<" ";char *str1 = my_itoa(a);cout << "转为字符串:";while(*str1){cout << *str1;++str1;}cout << endl;int b = -123;cout << "原整形:" << b << " ";char *str2 = my_itoa(b);cout << "转为字符串:";while (*str2){cout << *str2;++str2;}cout << endl;system("pause");return 0;
}
itoa 结果显示
atoi函数的实现