【发布时间】:2012-10-17 20:50:58
【问题描述】:
我想在循环中显示的字符串有问题。
我在循环中这样设置:
//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 之前如何清除它?
【问题讨论】:
-
似乎使用
std::string会是更好的选择。std::string s = "Hello"; /*call functions*/ s = "Goodbye"; /*call functions*/ -
有人建议我使用当前的方法,因为我会将变量添加到我的字符串中以用于保存整数的输出。
-
啊,我明白了。那么你可以使用
s.str("");。看到这个:stackoverflow.com/questions/20731/… -
很有魅力,谢谢!如果你想回答问题,我会为代表打勾:)
-
作为一个骗子可能会更好,因为这个问题确实可以归结为另一个人的标题。