C++ 字符串string和整數(shù)int的互相轉(zhuǎn)化操作
一、string轉(zhuǎn)int的方式
1、采用最原始的string, 然后按照十進(jìn)制的特點(diǎn)進(jìn)行算術(shù)運(yùn)算得到int,但是這種方式太麻煩,這里不介紹了。
2、采用標(biāo)準(zhǔn)庫(kù)中atoi函數(shù)。
string s = "12";
int a = atoi(s.c_str());
對(duì)于其他類型也都有相應(yīng)的標(biāo)準(zhǔn)庫(kù)函數(shù),比如浮點(diǎn)型atof(),long型atol()等等。
3、采用sstream頭文件中定義的字符串流對(duì)象來(lái)實(shí)現(xiàn)轉(zhuǎn)換。
istringstream is("12"); //構(gòu)造輸入字符串流,流的內(nèi)容初始化為“12”的字符串
int i;
is >> i; //從is流中讀入一個(gè)int整數(shù)存入i中
二、int轉(zhuǎn)string的方式
1、采用標(biāo)準(zhǔn)庫(kù)中的to_string函數(shù)。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何頭文件,應(yīng)該是在utility中,但無(wú)需包含,直接使用,還定義任何其他內(nèi)置類型轉(zhuǎn)為string的重載函數(shù),很方便。
2、采用sstream中定義的字符串流對(duì)象來(lái)實(shí)現(xiàn)。
ostringstream os; //構(gòu)造一個(gè)輸出字符串流,流內(nèi)容為空 int i = 12; os << i; //向輸出字符串流中輸出int整數(shù)i的內(nèi)容 cout << os.str() << endl; //利用字符串流的str函數(shù)獲取流中的內(nèi)容
字符串流對(duì)象的str函數(shù)對(duì)于istringstream和ostringstream都適用,都可以獲取流中的內(nèi)容。
補(bǔ)充知識(shí):C++ 將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)為字符串
前言:
用 sprintf可以把整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)為字符串。
1、整數(shù)
int main(int argc, const char * argv[]) {
int n = 12345;//待轉(zhuǎn)整數(shù)
char strN[50];//轉(zhuǎn)換后的字符串
sprintf(strN, "%d", n);
cout<<strN<<endl;//輸出
return 0;
}
結(jié)果:

2、浮點(diǎn)數(shù)
int main(int argc, const char * argv[]) {
float n = 12345.67;//待轉(zhuǎn)整數(shù)
char strN[50];//轉(zhuǎn)換后的字符串
sprintf(strN, "%.2f", n);
cout<<strN<<endl;
return 0;
}
結(jié)果:

以上這篇C++ 字符串string和整數(shù)int的互相轉(zhuǎn)化操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(347.前K個(gè)高頻元素)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(347.前K個(gè)高頻元素),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
c語(yǔ)言程序設(shè)計(jì)文件操作方法示例(CreateFile和fopen)
c主要的文件操作函數(shù)有:CreateFile,CloseHandle,ReadFile,WriteFile,SetFilePointer,GetFileSize。其中的讀寫操作是以字符為單位,獲得文件大小也是以字符為單位。2013-12-12
C語(yǔ)言strcat函數(shù)詳解:字符串追加的利器
strcat函數(shù)用于將源字符串追加到目標(biāo)字符串的末尾,并返回一個(gè)指向目標(biāo)字符串的指針,它可以實(shí)現(xiàn)字符串的拼接操作2024-08-08
OpenCV利用背景建模檢測(cè)運(yùn)動(dòng)物體
這篇文章主要為大家詳細(xì)介紹了OpenCV利用背景建模檢測(cè)運(yùn)動(dòng)物體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
數(shù)組名不等于指針?sizeof()函數(shù)求數(shù)組大小錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了數(shù)組名不等于指針?sizeof()函數(shù)求數(shù)組大小錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C++實(shí)現(xiàn)LeetCode(94.二叉樹(shù)的中序遍歷)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(94.二叉樹(shù)的中序遍歷),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

