C++ stoi函数

C++ stoi函数

stoi 是一个将字符串转换为整数的 C++标准库 函数。它代表着 “string to integer” (字符串到整数)。它接受一个字符串作为输入,并返回对应的整数值。如果输入的字符串不代表一个有效的整数,该函数可能会引发一个 std::invalid_argument 类型的异常。

C++中使用stoi的示例:

#include 
#include 
int main() {
std::string str1 = "123";
    int num1 = std::stoi(str1);
std::cout<< num1 << std::endl; // Output: 123
std::string str2 = "-456";
    int num2 = std::stoi(str2);
std::cout<< num2 << std::endl; // Output: -456
std::string str3 = "7.89";
    try {
        int num3 = std::stoi(str3);
    } catch (std::invalid_argument&e) {
std::cout<< "Invalid argument: " << str3 << std::endl;
    }
    return 0;
}

输出

123
-456

在第一个示例中,字符串 “123” 被转换为整数 123 。在第二个示例中,字符串 “-456” 被转换为整数 -456 。在第三个示例中,字符串”7.89″不是一个有效的整数,所以抛出了一个 std::invalid_argument 异常。 其他示例代码片段:

#include 
#include 
int main() {
std::string str1 = "100";
    int num1 = std::stoi(str1);
std::cout<< num1 << std::endl; // Output: 100
std::string str2 = "200";
    int num2 = std::stoi(str2, 0, 16);
std::cout<< num2 << std::endl; // Output: 512
std::string str3 = "300";
    int num3 = std::stoi(str3, nullptr, 8);
std::cout<< num3 << std::endl; // Output: 192
std::string str4 = "abc";
    try {
        int num4 = std::stoi(str4);
    } catch (std::invalid_argument&e) {
        std::cout<< "Invalid argument: " << str4 << std::endl;
    }

    return 0;
}

输出结果

100
512
192
Invalid argument: abc

第一个示例将字符串 “100” 转换为十进制整数 100 。在第二个示例中,将字符串 “200” 转换为十六进制整数 512,将0作为第二个参数和16作为第三个参数传递给 stoi 函数。

在第三个示例中,将字符串 “300” 转换为八进制整数 192 ,将nullptr作为第二个参数和8作为第三个参数传递给 stoi 函数。

在第四个示例中,字符串 “abc” 不是一个有效的整数,因此会抛出一个 std::invalid_argument 异常。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程