这个问题已经在这里有了答案:




已关闭8年。






我想在循环中使用的字符串有问题。

我在循环中这样设置:

//while {
 std::stringstream s;
 s << "Hello";

  font_surface = TTF_RenderText_Solid(font,s.str().c_str(),font_color);
  apply_surface(x,y,font_surface,screen);

  s << "GoodBye";
  if(font_surface = TTF_RenderText_Solid(font,s.str().c_str(),font_color);
  apply_surface(bx,by,font_surface,screen);


//end loop }

我的问题是输出首先显示Hello,然后在其他位置显示HelloGoodBye,我需要先清除内容,然后再添加Goodbye,因此我只能在屏幕的第二个位置看到它。

那么,在将其更改为Hello之前,如何清除Goodbye的信息?

最佳答案

如果必须使用字符串流,请致电

s.str("");

清除它

10-08 09:32