1. 程式人生 > >C++中int型別與String型別的相互轉換

C++中int型別與String型別的相互轉換

最近經常用到兩種型別的相互轉換,從網上找了一些,彙總一下,以備不時之需

int型別轉換為String型別
方法一:利用sprintf

#include <iostream>
#include <string>
int main()
{
    int n = 123;
    char t[256];
 
    sprintf(t, "%d", n);
    std::string s(t);
    std::cout << s << std::endl;
 
    return 0;
}

方法二:利用stringstream類(個人最喜歡)

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
	int n = 123;
	stringstream ss;
	string str;
	ss << n;
	ss >> str;
	cout << str << endl;
	system("pause");
	return 0;
}

方法三:利用C++11新增的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)

string型別轉換為int型別


方法一:利用stringstream類

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
	int n ;
	stringstream ss;
	string str("123");
	ss << str;
	ss >> n;
	cout << n << endl;
	system("pause");
	return 0;
}

方法二:利用標準庫atoi、_atoi64…函式

string s = "123"; 
int a = atoi(s.c_str());