将 ifstream 逐字读入 char*

Read an ifstream word for word into char*

只是为了好玩而尝试编程测试。规定我一个文件一个字一个字读。

提示我可能要使用ifstream,但是不会让我使用std::string,所以它看起来我必须使用 char*

在 C 中,我会逐行阅读并使用 strok(),因为我有多个定界符(白色-space、引号、括号等)。

最 C++ 的方法是什么 - 一个一个地获取单词 - 而不使用 std::string?

首先,您必须确保为您的字符串分配了内存(这部分将由 std::string 自动处理)。然后只需使用普通输入运算符 >>,因为它会在空格处分隔。

不要忘记释放您分配的内存(也由 std::string 自动处理)。

要吸取的教训:使用 char 指针进行此类练习,否则使用 std::string

只需将文件读入 std::string,然后使用 std::string::c_str ( )std::string 对象中检索以 null 结尾的 C 风格字符串。