C ++中的Concat字符串和数字?

时间:2009-02-13 01:39:16

标签: c++ string

我正在尝试连续“(”+ + mouseX +“,”+ mouseY“)”。但是,mouseX和mouseY是整数,所以我尝试使用stringstream,如下所示:

std::stringstream pos;
pos << "(" <<  mouseX << ", " << mouseY << ")";
_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str());

它似乎不起作用。

我收到以下错误:

  

mouse.cpp:75:错误:无法转换std::basic_string<char, std::char_traits<char>, std::allocator<char> >' to const char *'作为参数2' to void _glutBitmapString(void *,const char *)'

我在这个基本的字符串+整数连接中做错了什么?

2 个答案:

答案 0 :(得分:5)

glutBitmapString()需要一个char*并且你发送一个字符串。像字符串一样使用.c_str():

_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());

答案 1 :(得分:3)

尝试

_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());