2016-02-01 135 views
0

从C++文件读取时如何跳过空行? 的设置是:我有一个文本文件,每个文件包含50个问题,然后是4个可能的答案。我使用一个二维数组来存储所有的这样的:问题[50] [5]从C++文件读取时,如何跳过空行?

所以文本文件的结构是这样的:

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循环的地方空行挣扎,我会非常感激一些帮助。 谢谢!

+2

试图跳过一行代码的部分是好的,但实际上每六行执行一次... –

+1

试着问一个橡皮鸭,(https://en.wikipedia.org/wiki/ Rubber_duck_debugging)寻求帮助 –

+0

但是当我使用getline跳过一行时,我仍然只是在阅读它,如果它不是空行,那么我就不能再次读取同一行并将该行保存在问题中排列 – Jolaroux

回答

0

试试这可能是qFileIn.ignore(256,'\ n');它跳过空行。

相关问题