从文件中读取两个字符串和数字数组,并将它们存储在对象的向量中,可以按照以下步骤进行:
以下是一个示例的C++代码,演示了如何从文件中读取两个字符串和数字数组,并将它们存储在对象的向量中:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
struct Data {
std::string str1;
std::string str2;
std::vector<int> nums;
};
int main() {
std::ifstream file("data.txt"); // 打开文件
if (!file.is_open()) {
std::cout << "无法打开文件" << std::endl;
return 0;
}
Data data; // 创建对象
std::vector<Data> dataVector; // 创建向量
std::string line;
while (std::getline(file, line)) {
std::string str1, str2;
std::vector<int> nums;
// 解析字符串和数字数组
// 假设文件中每行的格式为:str1 str2 num1 num2 num3 ...
std::istringstream iss(line);
iss >> str1 >> str2;
int num;
while (iss >> num) {
nums.push_back(num);
}
// 存储数据到对象
data.str1 = str1;
data.str2 = str2;
data.nums = nums;
// 存储对象到向量
dataVector.push_back(data);
}
// 输出读取到的数据
for (const auto& d : dataVector) {
std::cout << "str1: " << d.str1 << std::endl;
std::cout << "str2: " << d.str2 << std::endl;
std::cout << "nums: ";
for (const auto& num : d.nums) {
std::cout << num << " ";
}
std::cout << std::endl;
}
file.close(); // 关闭文件
return 0;
}
在这个示例中,我们假设文件中每行的格式为"str1 str2 num1 num2 num3 ...",使用空格作为分隔符。根据实际情况,你可以根据文件中数据的格式进行相应的修改。
请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行适当的修改和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云