繁体   English   中英

将文本文件的交替行分成两个不同但对应的数组C ++

[英]Separating alternating lines of a text file into two different but corresponding arrays C++

好的,所以我一直试图弄清楚这个问题几个小时,但实际上却一无所获。 我发现类似问题的答案对我来说都没有任何意义。 我想是因为我们还没有深入到课程中。

我需要输入一个文本文件,其格式为响应和类别,

Yes
positive
Maybe
vague
No
negative

并将其放入两个不同的数组(responss [],category [])。 我必须使用一个函数来执行此操作。 我的老师给了我们函数声明,但没有给我们定义,因此我们有了,

void readResponses(ifstream &infile, string responses[], string categories[], int &size)

我可以打开一个文件并将其放入数组中没问题。 我知道如何使用数组并打印出来,等等。我只是不知道如何将两者分开。 有没有一种使用getline并将其他所有行放入数组的方法? 抱歉,这是一个重复性的问题,但在此先感谢您的帮助。

我认为您可能会基于通常阅读线条的方式而陷入一种特殊的思维方式。 读取文本文件的一种常见方法是一次循环一行,如下所示:

void foo(std::istream& inStream)
{
    std::string line;
    while (std::getline(inStream, line))
    {
        // Do stuff with line
    }
}

现在,如果您希望每个输入都是两行文本,那么一次只需要阅读两行即可:

void foo(std::istream& inStream)
{
    std::string response, category;
    while (std::getline(inStream, response) && std::getline(inStream, category))
    {
        // Do stuff with response and category
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM