在 C++ 中,有两种将 string 转换为 int 的方法:使用 sto i() 函数,直接接收字符串并返回整数。使用 istringstream 类,将字符串解析为输入流,然后提取整数。选择方法取决于字符串格式:如果格式明确且无非数字字符,stoi() 更简洁;如果字符串可能包含非数字字符或需要自定义转换,则 istringstream 更灵活。

C++ 中 string 转 int 的方法
在 C++ 中,将字符串 (string) 转换为整数 (int) 有以下两种方法:
1. stoi() 函数
使用内置的 stoi() 函数是最简单直接的方法。它接收一个字符串参数并返回一个整数。
立即学习“C++免费学习笔记(深入)”;
BIWEB 门户版几经周折,最终与大家见面了。BIWEB门户版建立在ArthurXF5.8.3底层上,有了更加强大的功能。 BIWEB WMS v5.8.3 (2010.1.29) 更新功能如下: 1.修正了底层getInfo方法中的调用参数,做到可以根据字段进行调用。 2.修正了栏目安装和卸载后,跳转链接的错误。 3.修正所有栏目分类系统,提交信息页面错误。 4.新增后台删除信息后仍停留原分
#include#include int main() { std::string str = "123"; int number = stoi(str); std::cout << "String: " << str << "\n"; std::cout << "Integer: " << number << "\n"; return 0; }
2. istringstream
另一种方法是使用 istringstream 类。它将字符串解析为输入流,然后可以使用 >> 运算符提取整数。
#include#include int main() { std::string str = "456"; std::istringstream iss(str); int number; iss >> number; std::cout << "String: " << str << "\n"; std::cout << "Integer: " << number << "\n"; return 0; }
选择哪种方法?
- 如果字符串格式明确,并且不包含任何非数字字符,则
stoi()函数是更简单、更快的选择。 - 如果字符串可能包含非数字字符或需要自定义转换行为,则
istringstream更灵活。









