我正在尝试编写一个从txt文件读取单独的行并将其存储在字符串数组中的函数。该功能正常工作,除了读取空白行时。例:

功能

ifstream flinput( "somefile.txt" )
string line;

while( getline(flinput, line) ) {
  //Add line to array

因此,问题在于文本文件是否看起来像这样。
Line1 Some Text blar blar blar
\n
Line3 Some Text blar blar blar
\n
Line5 Some Text blar blar blar

数组最终看起来像这样。
array[0] = "Line1 Some Text blar blar blar"
array[1] = "Line3 Some Text blar blar blar"
array[2] = "Line5 Some Text blar blar blar"

什么时候应该看起来像这样。
array[0] = "Line1 Some Text blar blar blar"
array[1] = ""
array[2] = "Line3 Some Text blar blar blar"
array[3] = ""
array[4] = "Line5 Some Text blar blar blar"

我究竟做错了什么?

谢谢

最佳答案

从getline文档...



因此,您的代码完全按照预期的方式运行。如果您要保存\ n,则必须按照文档中的建议手动使用Get解析内容。

关于c++ - C++流不读取空白行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2006444/

10-09 22:46