gpt4 book ai didi

C++ 流不读取空行

转载 作者:行者123 更新时间:2023-11-30 03:11:46 29 4
gpt4 key购买 nike

我正在尝试编写一个函数,从一个 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 文档...

If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after it. If you don't want this character to be extracted, you can use member get instead.

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

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

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com