如何清空std :: string?

时间:2013-12-21 04:01:58

标签: c++ iostream

我的代码的这部分在无限循环中运行并显示一个数字,但我需要在使用后清空字符串,因为它在循环中运行,它保持相乘。 (对不起我的英文,这不是我的母语)

  

text --->文字文字---->文字文字

cartemap << "Carte: " << currentmap;  //cartemap is a std:string currentmap a integer'

MESSAGE1 = TTF_RenderText_Solid( font,  cartemap.str().c_str() , noir );

apply_surface( 70, 70, MESSAGE1, SCREEN );

SDL_FreeSurface(MESSAGE1);

3 个答案:

答案 0 :(得分:5)

回答标题中的问题

致电std::string::clear()以清除string

mystring.clear();

回答帖子中的代码

但您的示例中似乎需要std::ostringstream::str()来清除 ostringstream (或 stringstream ):

cartemap.str("");

答案 1 :(得分:1)

如果cartemap是您的字符串,请尝试:

cartemap.resize(0);

http://www.cplusplus.com/reference/string/string/resize/

答案 2 :(得分:1)

来自您的代码段的

AFAICT,cartemap std::string,但它是std::stringstream或类似的。要清空字符串流,请执行

cartemap.str("");