gpt4 book ai didi

c++ - 如何在 C++ 中读取文件并获取单词

转载 作者:行者123 更新时间:2023-11-30 00:59:51 24 4
gpt4 key购买 nike

我很好奇如何逐字读取没有固定结构的文本文件(例如笔记或小报告)的输入。例如,文本的结构可能如下所示:

“1992 年 6 月 5 日
今天是个好日子;
bug 变了,战斗赢了。”

我在想也许可以使用 getline 获取该行,然后看看我是否可以从那里通过空格将其拆分为单词。然后我认为使用 strtok 可能会起作用!但是我认为这不适用于标点符号。

我想到的另一种方法是逐个字符地获取所有内容并省略不需要的字符。然而,这似乎不太可能。

总结一下:有没有一种简单的方法可以从文件中读取输入并将其拆分为单词?

最佳答案

因为写比找重复问题容易,

#include <iterator>

std::istream_iterator<std::string> word_iter( my_file_stream ), word_iter_end;

size_t wordcnt;
for ( ; word_iter != word_iter_end; ++ word_iter ) {
std::cout << "word " << wordcnt << ": " << * word_iter << '\n';
}

std::string istream_iterator 的参数告诉它返回 string当你做 *word_iter .每次迭代器递增时,它都会从其流中获取另一个词。

如果您同时在同一个流上有多个迭代器,您可以选择要提取的数据类型。但是,在这种情况下,使用 >> 可能更容易。直接地。迭代器的优点是它可以插入 <algorithm> 中的通用函数。 .

关于c++ - 如何在 C++ 中读取文件并获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693454/

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