c++与c#不同,c#对面向对象的支持做的比较全面,在c#里面每一个变量都是一个对象,可以方便地调用ToString()方法将对象转换为字符串。但c++却没法这么方便地转换,需要利用一些方法转换。
(1)利用itoa函数
itoa函数原型
1
|
char * itoa ( int value, char * str, int base );
|
使用指定的基数将整数值转换为以null终止的字符串,并将结果存储在str参数给定的数组中。
使用示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}
|
或者
1
2
3
|
int a = 10;
char *intStr = itoa(a);
string str = string(intStr);
|
(2)使用stringstream
1
2
3
4
|
int a = 10;
stringstream ss;
ss << a;
string str = ss.str();
|
(3)使用to_string()函数
1
2
3
|
#include <string>
std::string s = std::to_string(42);
|
或使用auto关键字
1
2
3
|
#include <string>
auto s = std::to_string(42);
|
references
【1】C++ reference
【2】Stackoverflow
本文由芒果浩明发布,转载请注明出处。
本文链接:https://blog.mangoeffect.net/cpp/some-ways-to-convert-int-to-string-in-cpp.html