📌  相关文章
📜  将字符串转换为整数的C ++程序(1)

📅  最后修改于: 2023-12-03 14:53:49.985000             🧑  作者: Mango

将字符串转换为整数的C++程序

在编程中,有时候需要将字符串转换为整数。例如从用户输入中读取数字时,输入的内容通常是字符串形式的。在C++中,我们可以使用stoi()函数来将字符串转换为整数。

代码实现

下面是一个简单的C++程序,它使用stoi()函数将字符串转换为整数并输出结果:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "123";
    int num = stoi(str);
    cout << "The integer value of the string is: " << num << endl;
    return 0;
}

输出结果为:

The integer value of the string is: 123

上面的程序中使用了头文件<string>,以便使用string数据类型和stoi()函数。同时使用了命名空间std::,这样我们就可以直接使用string和cout。

函数原型

下面是stoi()函数的原型:

int stoi(const string& str, size_t* idx = 0, int base = 10);

函数的第一个参数是要转换的字符串。第二个参数是指向存储第一个无效字符的指针的指针。默认值为0,表示不返回无效字符的指针。最后一个参数是要使用的进制,默认为10。

异常处理

在使用stoi()函数时要注意异常处理。如果转换失败,stoi()函数会抛出一个invalid_argument或out_of_range异常。使用try-catch语句可以捕获异常并处理错误。

下面是一个例子:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "abc";
    try {
        int num = stoi(str);
        cout << "The integer value of the string is: " << num << endl;
    }
    catch(const invalid_argument& ia) {
        cerr << "Invalid argument: " << ia.what() << endl;
    }
    catch(const out_of_range& oor) {
        cerr << "Out of range: " << oor.what() << endl;
    }
    return 0;
}

输出结果为:

Invalid argument: stoi
总结

使用stoi()函数可以方便地将字符串转换为整数。在实际编程中,我们应该养成良好的异常处理习惯,以便在出现错误时及时捕获并处理异常。