gpt4 book ai didi

c++ - 将输入值存储到数组中,同时读取它们,C++

转载 作者:搜寻专家 更新时间:2023-10-31 02:05:23 24 4
gpt4 key购买 nike

我是 C++ 的新手。我正在尝试逐行读取文件并将输入存储到多个数组中。因为我不知道输入文件的大小,所以我用这个来获取文件中的行数

while (std::getline(inputFile, line)){
++numOfLines;
std::cout << line << std::endl;
}

现在我想使用 numOfLines 作为数组的大小,但是我不能让它运行

std::string *firstName= new std::string[numOfLines];
std::string *lastName= new std::string[numOfLines];

for (int i = 0; i < numOfLines; ++i)
{
line >> firstName[i];
}

我猜是因为在while循环后已经到了文件末尾。但我不知道如何解决这个问题。有没有办法把输入文件扫描进去,同时把值存入数组?

最佳答案

如果您使用 std::vector,则无需提前知道行数。您可以使用 vector 方法 push_back 将新元素插入其中。尝试使用这样的东西:

#include <fstream>
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
std::vector<std::string> first_names;
std::string line;
ifstream input_file;

while (std::getline(input_file, line)){
first_names.push_back(line);
}

for (size_t i = 0; i < first_names.size(); i++) {
std::cout << first_names[i] << std::endl;
}

return 0;
}

关于c++ - 将输入值存储到数组中,同时读取它们,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52141705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com