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

从char*中的整数填充vector <int>

从char中的整数填充vector <int> 是一个编程问题,需要使用C++编程语言。以下是一个简单的示例,说明如何从char中提取整数并将其填充到vector <int>中:

代码语言:cpp
复制
#include<iostream>
#include<vector>
#include <cstring>

std::vector<int> extractIntsFromChar(char* str) {
    std::vector<int> result;
    int num = 0;
    bool isNegative = false;

    for (int i = 0; str[i] != '\0'; ++i) {
        if (isdigit(str[i])) {
            num = num * 10 + (str[i] - '0');
        } else if (str[i] == '-') {
            isNegative = true;
        } else {
            if (isNegative) {
                num = -num;
            }
            result.push_back(num);
            num = 0;
            isNegative = false;
        }
    }

    if (isNegative) {
        num = -num;
    }
    result.push_back(num);

    return result;
}

int main() {
    char str[] = "10 20 -30 40 -50";
    std::vector<int> ints = extractIntsFromChar(str);

    for (int i = 0; i < ints.size(); ++i) {
        std::cout<< ints[i] << " ";
    }

    return 0;
}

这个示例中,我们定义了一个名为extractIntsFromChar的函数,它接受一个char类型的参数,并返回一个包含提取的整数的vector<int>。在main函数中,我们创建了一个char类型的字符串,其中包含一些整数,并将其传递给extractIntsFromChar函数。然后,我们遍历vector<int>并打印其中的整数。

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

相关·内容

C++中对字符串的分割

由于C++中没有split函数,因此,为了能够对获取的字符串进行按一定符号进行分割,在此学习了通过字符串的find()方法和substr()方法来实现split();具体描述如下:  //涉及到string类的两个函数find和substr:  //  //1、find函数  //原型: size_t find(const string& str, size_t pos = 0) const;  //功能: 查找子字符串第一次出现的位置。  //参数说明:str为子字符串,pos为初始查找位置。  //返回值: 找到的话返回第一次出现的位置,否则返回string::npos  //2、substr函数  //原型: string substr(size_t pos = 0, size_t n = npos) const;  //功能: 获得子字符串。  //参数说明:pos为起始位置(默认为0),n为结束位置(默认为npos)  //返回值: 子字符串

00
领券