在C++的string庫(kù)函數(shù)中,可以使用std::stoi
函數(shù)將字符串轉(zhuǎn)換為數(shù)字。
std::stoi
函數(shù)的原型如下:
int stoi(const string& str, size_t* idx = 0, int base = 10);
其中,str
是要轉(zhuǎn)換的字符串,idx
是指向字符串中第一個(gè)非數(shù)字字符的位置的指針,默認(rèn)為0,base
是數(shù)字的基數(shù),默認(rèn)為10。如果字符串表示的是十六進(jìn)制數(shù),則base
應(yīng)該設(shè)置為16。
例如,將字符串"123"轉(zhuǎn)換為數(shù)字:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "123";
int num = stoi(str);
cout << num << endl; // 輸出123
return 0;
}
如果字符串中包含非數(shù)字字符,std::stoi
函數(shù)將拋出std::invalid_argument
異常??梢允褂?code>try/catch語(yǔ)句來(lái)處理這種異常。