atoi和stoi都是用來將字符串轉換為整數的函數,但它們之間有一些區別:
atoi是一個C語言標準庫函數,需要包含頭文件
atoi只能轉換C風格的字符串(即以空字符結尾的字符數組),而stoi可以接受C++的std::string類型作為參數。
atoi在轉換失敗時返回0,而stoi會拋出一個std::invalid_argument異常。
stoi還提供了一些額外的功能,比如可以指定進制進行轉換(默認為十進制)、允許在字符串前面有空格等。
總的來說,建議在C++中使用stoi函數進行字符串轉換,因為它更加安全、方便,并提供了更多的功能。