1. 程式人生 > >STL中 string和int的相互轉化

STL中 string和int的相互轉化

Int轉化為String:

.利用<stdio.h>的sprintf.

int aa=100;

char tmp[256];
sprintf(tmp,"%d",aa);//sprintf把數字轉化成char

string str=tmp;//把char字串賦值給str

String轉化為int

 利用<stdio.h>的sscanf

 char str[] = "15.455";
int i;
float fp;
sscanf( str, "%d", &i ); // 將字串轉換成整數 i = 15
sscanf( str, "%f", &fp );

:還可以用<stream>中的stringstream來完成轉換,但在大資料中效率不如sprintf和sscanf.

int main()
{
stringstream stream; //宣告一個stringstream變數
int n;
string str;

//string轉int
stream << "1234"; //向stream中插入字串"1234"
stream >> n; //從stream中提取剛插入的字串"1234" 並將其賦予變數n完成字串到int的轉換
cout << n << endl; //輸出n
stream.clear(); //同一stream進行多次轉換應呼叫成員函式clear 


//int轉string

stringstream stream2

;//注意一次轉換用一個不同的流
stream2 << 1234; //向stream中插入整型數1234
stream2 >> str; //從steam中提取剛插入的整型數 並將其賦予變數str完成整型數到string的轉換
cout << str << endl; //輸出str
return 0;
}