Avatar ·

如何在C++中正确清理stringstream并准备重复使用?

大家好!我是C++新手,在使用stringstream时遇到了问题。我需要在循环中用stringstream生成字符串,但第一次循环后它没有清空,数据不断累积。请教如何正确重置stringstream的状态? 这是我的代码: ```cpp #include #include #include int main() { std::stringstream ss; for (int i = 0; i < 3; ++i) { ss << "Number: " << i; std::string result = ss.str(); std::cout << "Iteration " << i << ": " << result << std::endl; // 这里我尝试清空ss,但不知道正确方法 // ss.str(""); // 试过这样——不行 } return 0; } ``` 这段代码的输出: ``` Iteration 0: Number: 0 Iteration 1: Number: 0Number: 1 Iteration 2: Number: 0Number: 1Number: 2 ``` 我希望每次迭代只输出当前值,即: ``` Iteration 0: Number: 0 Iteration 1: Number: 1 Iteration 2: Number: 2 ```