将ifstream单词读成字符*

时间:2015-06-10 12:47:14

标签: c++ char ifstream

只是为了好玩而尝试编程测试。它规定我应该逐个阅读文件的每个单词。

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

在C中我会逐行阅读&使用strok(),因为我有多个分隔符(空格,引号,括号等)。

最C ++的做法是什么 - 逐个获取单词 - 不使用std :: string?

2 个答案:

答案 0 :(得分:2)

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

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

要学习的课程:使用char指针进行此类练习,否则请使用std::string

答案 1 :(得分:0)

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