gpt4 book ai didi

c++ - 读取整数对直到文本输入文件中的换行符

转载 作者:行者123 更新时间:2023-11-28 05:38:00 25 4
gpt4 key购买 nike

大家好,我有一个问题。我想读取成对的整数(第一个是系数,第二个是指数),每一对都是链表中的一个节点。我将继续用这些对填充链接列表,直到它在输入文本文件中看到换行符或输入键。

下一行它会再次开始,所以输入文件看起来像

-1 0 6 2 3 2 5 6 1 6

2 5 3 2 4 2 5 7 2 7

读完之后会是两个不同的多项式,即

  • 多项式 1 = -1 + 6x^2 + 3x^2 + 5x^6 + x^6

  • 多项式 2 = 2x^5 + 3x^2 + 4x^2 + 5x^7 + 2x^7

或 2 个不同的链表,每个链表对应一个多项式。因为目前我拥有它的方式,如果我只是使用

while (infile >> coefficient >> exponent)
{
polynomialA.listInsert(coefficient, exponent);
}

它将读取两行并生成一个非常长的单一多项式。

编辑:抱歉,我想我不清楚。问题是 - 如何让 ifstream 继续读取整数对,直到它到达文本文件中的换行符。

最佳答案

您可以将它分成行,然后是标记:提示:使用 std::stringstreamstd::getline

std::string line;
std::getline(infile, line) //Read the whole line
{
std::stringstream ss(line);
while(ss >> coefficient >> exponent) //read the pairs
polynomialA.listInsert(coefficient, exponent);
}

std::getline(infile, line) //read another whole line
{
std::stringstream ss(line);
while(ss >> coefficient >> exponent) //read the pairs
polynomialB.listInsert(coefficient, exponent);
}

当然,上面的内容可以写成更好的方式,但是,我会把它留给你。

关于c++ - 读取整数对直到文本输入文件中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37780162/

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