C++ 在一次迭代中从txt文件的多行读取
我目前正在处理链表,我的节点有4个元素(其中每个元素都是变量类型的字符串)。在.txt文件中,有多组文本,每组有4行,例如:C++ 在一次迭代中从txt文件的多行读取,c++,file,C++,File,我目前正在处理链表,我的节点有4个元素(其中每个元素都是变量类型的字符串)。在.txt文件中,有多组文本,每组有4行,例如: 这是第一行 这是第二行 这是第三行 这是第四行 “\n” 这是第五行 这是第六行 这是第七行 这是第八行 等等等等等等。。。 我试图实现的是在一次迭代中读取四行代码,并将它们交给一个节点,然后让程序迭代,直到没有更多的代码行 因此,如果阅读上面的例子,我们的节点将被留下 Node1.string1=这是第一行 Node1.string2=这是第二行 Node1.str
- 这是第一行
- 这是第二行
- 这是第三行
- 这是第四行
- “\n”
- 这是第五行
- 这是第六行
- 这是第七行
- 这是第八行
while (getline(in, node.string1) &&
getline(in, node.string2) &&
getline(in, node.string3) &&
getline(in, node.string4))
{
...
string dummy;
getline(in, dummy); // skip blank line
}
也可以在.ignore(std::numeric_limits,“\n”)中使用代码>跳过空白行,但读入哑变量允许您轻松检查空白行是否为空。 足够容易
while (getline(in, node.string1) &&
getline(in, node.string2) &&
getline(in, node.string3) &&
getline(in, node.string4))
{
...
string dummy;
getline(in, dummy); // skip blank line
}
也可以在.ignore(std::numeric_limits,“\n”)中使用代码>跳过空白行,但读入哑变量可以轻松检查空白行是否为空。到目前为止,您尝试了什么?你能显示代码吗?我试过用for(字符串行;getline(reader,line);)和istringstream;问题是我可以从一个字符分隔的行中读取多个内容。但是这一次,我要处理的东西太大了,不能在一条线上有多个。到目前为止,你做了哪些尝试?你能显示代码吗?我试过用for(字符串行;getline(reader,line);)和istringstream;问题是我可以从一个字符分隔的行中读取多个内容。但是这次我要处理的东西太大了,不能在一行中有多个。非常感谢!我在处理文件时总是很辛苦,这正是我所需要的。非常感谢!当我处理文件时,我总是很困难,这正是我所需要的。