从char中的整数填充vector <int> 是一个编程问题,需要使用C++编程语言。以下是一个简单的示例,说明如何从char中提取整数并将其填充到vector <int>中:
#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>并打印其中的整数。
领取专属 10元无门槛券
手把手带您无忧上云