#include <iostream>
#include <string>
#include <cstdlib> // for atoi
int main() {
std::string str = "12345";
int num;
// 使用 atoi 函数将字符串转换为整数
num = atoi(str.c_str());
std::cout << "Using atoi: " << num << std::endl;
// 使用 stoi 函数将字符串转换为整数 (C++11 及以上)
try {
num = std::stoi(str);
std::cout << "Using stoi: " << num << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << e.what() << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Out of range: " << e.what() << std::endl;
}
return 0;
}
atoi 函数:这是 C 标准库中的一个函数,用于将 C 风格的字符串(以空字符结尾的字符数组)转换为整数。它非常简单易用,但如果输入的字符串不是有效的整数格式,它会返回 0,并且不会抛出异常,因此在某些情况下可能会导致错误。
std::stoi 函数:这是 C++11 引入的一个更安全的函数,用于将 std::string 类型的字符串转换为整数。它会在遇到无效输入时抛出 std::invalid_argument 异常,在超出整数范围时抛出 std::out_of_range 异常。因此,使用 std::stoi 时最好加上异常处理机制。
异常处理:在使用 std::stoi 时,建议使用 try-catch 块来捕获可能的异常,以确保程序在遇到无效输入或超出范围的情况时能够正确处理。
如果你需要更简单的代码示例,可以只使用 std::stoi 或 atoi,但为了安全性和健壮性,推荐使用 std::stoi 并加上异常处理。
上一篇:c++函数返回数组
下一篇:c++ http请求
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站