c++int转string

一、int转string

1.c++11标准增加了全局函数std::to_string:

string to_string (int val);

string to_string (long val);

string to_string (long long val);

string to_string (unsigned val);

string to_string (unsigned long val);

string to_string (unsigned long long val);

string to_string (float val);

string to_string (double val);

string to_string (long double val);

代码示例:(使用编译器vs2013)

#include
#include    //std::string,std::string
#include
using namespace std;
int main()
{
	int num;
	string  str;
	cin >> num;
	str = to_string(num);
	cout << str;
	system("pause");
	return 0;
}

二、使用循环,把每一位数字转换成相应的字符,参考代码如下:(使用编译器vs2013)

#include
#include 
#include 
using namespace std;
int main()
{
	int num,j=0;
	char  str1[20]="";
	string str2=""; 
	cin >> num;
	while (num > 0)
	{
		str1[j] = num % 10 + '0';
		num = num / 10;
		j++;
	}
	for (int i = strlen(str1) - 1; i >= 0; i--)
	{
		str2 += str1[i];
	}
	cout << str2 << endl;
	system("pause");
	return 0;
}

三、使用库函数,代码如下:

#include
#include 
using namespace std;
int main()
{
	int num;
	char str[20];
	cin >> num;
	itoa(num, str, 10);
	cout << str;
	return 0;
}

但有些编译器不支持itoa,因为它不是标准的。

四、使用sprintf:
 

#include
#include 
#include 
using namespace std;
int main()
{
	int num=123;
	char str[20];
	sprintf(str, "%d", num);
	string s=str;
	cout<

五、使用stringstream

stringstream可以吞下不同的类型,根据s1的类型,然后吐出不同的类型。

#include
#include 
#include 
#include
using namespace std;
int main()
{
	int num=123;
	stringstream ss;
	ss<>s1;
    cout<

 

你可能感兴趣的:(字符串,int转化为string,c,c)