#include <iostream>
#include <string>
#include <cstdlib> // 包含 atoi 函数
#include <sstream> // 包含 stringstream
// 使用 atoi 函数将字符串转为整数
void stringToIntUsingAtoi() {
std::string str = "12345";
int num = atoi(str.c_str()); // 将字符串转换为整数
std::cout << "Using atoi: " << num << std::endl;
}
// 使用 stringstream 将字符串转为整数
void stringToIntUsingStringstream() {
std::string str = "67890";
std::stringstream ss(str);
int num;
ss >> num; // 从 stringstream 中提取整数
std::cout << "Using stringstream: " << num << std::endl;
}
// 使用 stoi 函数将字符串转为整数
void stringToIntUsingStoi() {
std::string str = "54321";
try {
int num = std::stoi(str); // 将字符串转换为整数,如果转换失败会抛出异常
std::cout << "Using stoi: " << num << std::endl;
} catch (const std::exception& e) {
std::cerr << "Exception caught: " << e.what() << std::endl;
}
}
int main() {
stringToIntUsingAtoi();
stringToIntUsingStringstream();
stringToIntUsingStoi();
return 0;
}
atoi
函数:这是一个 C 风格的函数,位于 <cstdlib>
头文件中。它可以直接将字符串转换为整数。但是它不会处理异常情况(如无效输入),因此使用时需要小心。
stringstream
:这是一个 C++ 标准库提供的类,位于 <sstream>
头文件中。通过将字符串放入 stringstream
对象中,然后从中提取整数,可以实现字符串到数字的转换。这种方式相对灵活,适用于更复杂的转换场景。
stoi
函数:这是 C++11 引入的函数,位于 <string>
头文件中。它可以将字符串转换为整数,并且在遇到无效输入时会抛出异常,因此更加安全和易于处理错误。
以上三种方法都可以实现字符串到整数的转换,选择哪种方法取决于具体的需求和代码风格。
上一篇:c++ 判断文件夹是否存在
下一篇:c++和c
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站