c++itoa源代码
时间: 2024-01-29 10:08:53 浏览: 80
C语言中实现itoa函数的实例
很抱歉,C++标准库中并没有`itoa`函数,它是Windows API中的一个函数。不过,我们可以自己实现一个`itoa`函数来将整型转换为字符串。以下是一个简单的实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void itoa(int num, char* str, int base) {
int i = 0;
bool isNegative = false;
// 处理负数
if (num < 0 && base == 10) {
isNegative = true;
num = -num;
}
// 转换数字为字符串
do {
int digit = num % base;
str[i++] = (digit > 9) ? (digit - 10) + 'a' : digit + '0';
num /= base;
} while (num);
// 添加负号
if (isNegative) {
str[i++] = '-';
}
str[i] = '\0';
// 反转字符串
int start = 0, end = i - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char arr[10];
int a = 123456;
itoa(a, arr, 10);
cout << arr << endl; // 输出:123456
cout << strlen(arr) << endl; // 输出:6
return 0;
}
```
阅读全文