从文件逐字逐句阅读并用C++确定新行

Read From File Word For Word and Determining New Lines C++

本文关键字:C++ 新行 文件 逐字逐句      更新时间:2023-10-16

我有一个项目,我应该从文本文件中读取单词,并将它们按字母顺序存储在二进制搜索树中。我正在把单词读成一串,所以我想你可以说我正在一串串地读。我不想一个字符接一个字符地读取,也不想使用getline一次获取整行。我只想逐字逐句地讲。我应该能够存储每个单词出现在哪一行,但我不知道如何逐字阅读,也不知道每个新行从哪里开始。希望有人能帮忙!

阅读一个单词会跳过前导空格,换行符被视为空格。你需要改变你的方法。

您可以编写自己的函数来跳过前导空格,并在阅读每个单词之前调用它。只要让它返回它找到的换行数,这样你就可以增加行号。

我不想一个字符接一个字符地读取,也不想使用getline一次获取整行。

无论如何,我可以推荐。。。使用getline()!这使您的算法的行号更加简单,并且不会禁止您使用<lt;操作员逐字逐句。一旦您有了std::string,您就可以使用std::stringstream提取每个单词,通过在每次调用getline()时使用递增整数提前知道行号是多少。记住在每次提取后都要检查流,以确保它有更多的数据。

如果我有代表的话,我会评论的。到目前为止,你尝试了什么?