Вы просто положили char *
в std::stringstream
.
std::stringstream buffer(your_string);
Затем вы можете использовать buffer
почти так же, как это было std::ifstream
(вы не можете открыть или закрыть его). В идеале, ваш метод синтаксического анализа должен принимать ссылку на std::istream
в качестве параметра, тогда он не будет возражать против того, какой поток ввода он получает:
void parse(std::istream & input);
Так как std::ifstream
и std::stringstream
наследуются от std::istream
, вы можете передать их как параметры, и ваш анализатор будет работать без изменений.