C++ stoi函數(shù)和atoi函數(shù)區(qū)別

c++
小樊
133
2024-06-26 10:46:50

  1. stoi函數(shù)是C++11標(biāo)準(zhǔn)庫(kù)中新增的函數(shù),而atoi函數(shù)是C語(yǔ)言中的函數(shù),不在C++標(biāo)準(zhǔn)庫(kù)中。

  2. stoi函數(shù)將字符串轉(zhuǎn)換為整數(shù),并且支持更多的錯(cuò)誤檢查和處理機(jī)制。如果輸入字符串不是一個(gè)有效的數(shù)字字符串,stoi函數(shù)會(huì)拋出一個(gè)invalid_argument異常。

  3. atoi函數(shù)將字符串轉(zhuǎn)換為整數(shù),但是不提供錯(cuò)誤檢查和處理機(jī)制。如果輸入字符串不是一個(gè)有效的數(shù)字字符串,atoi函數(shù)會(huì)返回0。

  4. stoi函數(shù)可以處理帶符號(hào)的整數(shù)字符串,而atoi函數(shù)只能處理不帶符號(hào)的整數(shù)字符串。

  5. stoi函數(shù)接受一個(gè)字符串作為參數(shù),而atoi函數(shù)接受一個(gè)字符數(shù)組作為參數(shù)。

總的來(lái)說(shuō),推薦使用C++中的stoi函數(shù),因?yàn)樗峁┝烁嗟墓δ芎桶踩浴?/p>

0