我有一个项目,我应该从文本文件中读取文字,并按字母顺序将它们存储在二叉搜索树中。我在单词中读到一个字符串,所以我猜你可以说我会逐字逐句。我不想通过char读取char,或者使用getline一次获取整行。我只是想逐字逐句地去。我应该能够存储每个单词出现的行,我不能弄清楚如何逐字阅读,并找出每个新行开始的位置。希望有人可以帮忙!
答案 0 :(得分:0)
我不想通过char读取char,或者使用getline一次获取整行。
无论如何我可能会推荐......使用getline()
!这使得您的算法的行编号更加简单,并且不会禁止您使用<<操作员一字一句地去。获得std::string
后,您可以使用std::stringstream
提取每个单词,在每次调用getline()
时使用递增整数提前知道行号是什么。请记住在每次提取后检查流,以确保它有更多数据。
如果我有代表,我会评论。到目前为止你尝试了什么?
答案 1 :(得分:0)
读取一个单词会跳过前导空格,换行符被视为空格。你需要改变你的方法。
您可以编写自己的函数来跳过前导空格,并在阅读每个单词之前调用它。只需让它返回它找到的换行符的数量,这样就可以增加行号。