我正在尝试编写一个从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/