首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何检查C++ std :: string是否以某个字符串开头,并将子字符串转换为int?

要检查C++ std::string是否以某个字符串开头,可以使用std::string::find()函数。此外,要将子字符串转换为int,可以使用std::stoi()函数。以下是一个示例代码:

代码语言:cpp
复制
#include<iostream>
#include<string>
#include <stdexcept>

int main() {
    std::string main_str = "12345";
    std::string prefix_str = "12";

    if (main_str.find(prefix_str) == 0) {
        std::cout << "The main string starts with the prefix string."<< std::endl;
        try {
            int result = std::stoi(main_str.substr(prefix_str.length()));
            std::cout << "The converted integer is: "<< result<< std::endl;
        } catch (std::invalid_argument &e) {
            std::cout << "Invalid argument: " << e.what()<< std::endl;
        } catch (std::out_of_range &e) {
            std::cout << "Out of range: " << e.what()<< std::endl;
        }
    } else {
        std::cout << "The main string does not start with the prefix string."<< std::endl;
    }

    return 0;
}

在这个示例中,我们首先使用std::string::find()函数检查main_str是否以prefix_str开头。如果是,我们使用std::string::substr()函数提取main_strprefix_str后面的子字符串,并使用std::stoi()函数将其转换为int。如果转换成功,我们将输出转换后的整数。如果转换失败,我们将捕获并输出异常信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券