c++ string庫(kù)函數(shù)中字符串轉(zhuǎn)數(shù)字的方法

c++
小樊
81
2024-09-24 22:27:11

在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)處理這種異常。

0