【发布时间】:2023-03-02 22:18:01
【问题描述】:
我需要将一个文本文件拆分成句子,通过移动到下一行来分隔。
想象一下这段文字:
Hey what's up
How are you doing?
Enjoy your coding!
这是我想出的从文件中获取文本并保存的方法:
ifstream file;
string text, finaltext;
file.open("input.txt", ios::in);
while(getline(file, text)){
finaltext += text;
}
cout<<finaltext;
所以这实际上完成了工作,但是由于一个奇怪的原因它跳过了“\n”,我得到的结果是这样的:
Hey what's upHow are you doing?Enjoy your coding!
所以我需要找到一种新的方法来做到这一点,确保 finaltext 获取由“\n”s 分隔的文本。有人可以帮帮我吗?我会永远感激不尽。谢谢各位。
【问题讨论】:
-
您所要做的就是在
while循环的末尾添加finaltext += '\n';行。 -
"but for a weird reason it skips the "\n" "-- 原因并不奇怪。std::getline的文档明确指出它丢弃了换行符。所以,如果你想要它回来,你必须手动添加它。
标签: c++ string visual-studio file ifstream