【发布时间】:2016-02-01 08:45:18
【问题描述】:
从 C++ 中读取文件时如何跳过空白行? 设置是:我有一个包含 50 个问题的文本文件,每个问题后跟四个可能的答案。我正在使用二维数组来存储所有这些:问题[50][5]
所以文本文件的结构如下:
1行长度问题
回答一个
回答 b
回答 c
回答 d
1行长度问题
回答一个
回答 b
回答 c
回答 d
等等..
问题或任何答案之间没有间隙,但每组问题和4个答案之间,有未知数量的空白行。
对于每组问题,我正在使用循环将问题和答案输入到我的数组中,但是如何跳过每组问题的未知数量的空白行?这是我的代码
//reading in the questions
for(int i = 0; i < 50; i++)
{
while(getline(qFileIn,test)) //seeing if its empty
{
if(test.empty())
continue;
if(!(test.empty()))
break;
}
for (int j = 0; j < 5; j++)
{
getline(qFileIn,questions[i][j]);
}
}
我真的很难尝试跳过这两个 for 循环中的某个地方的空白行,我非常感谢一些帮助。 谢谢!!!
【问题讨论】:
-
你的代码中试图跳过一行的部分是好的,但你实际上每六行才执行一次......
-
尝试向橡皮鸭 (en.wikipedia.org/wiki/Rubber_duck_debugging) 寻求帮助
-
但是当我使用 getline 跳过一行时,我仍然只是在阅读它,如果它不是空行,那么我无法再次阅读同一行并保存该行在问题数组中