在 C++ 中连接字符串和数字?
Posted
技术标签:
【中文标题】在 C++ 中连接字符串和数字?【英文标题】:Concat strings and numbers in C++? 【发布时间】:2009-02-13 01:39:15 【问题描述】:我正在尝试连接 "(" + mouseX + ", " + mouseY ")"。但是,mouseX 和 mouseY 是整数,所以我尝试使用如下字符串流:
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*)'
我在这个基本字符串 + 整数连接中做错了什么?
【问题讨论】:
可以编辑此问题的人能否将问题更改为“如何将字符串流转换为 const char*?” 【参考方案1】:glutBitmapString()
需要 char*
并且您正在向它发送一个字符串。像这样在字符串上使用 .c_str() :
_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());
【讨论】:
迂腐,但它真的期待“const char *”。如果它想要“char *”,如果没有 const_cast试试
_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());
【讨论】:
@Evan Teran,我认为投反对票是因为在编辑之前他有轻微的输入错误?不过我投了赞成票!以上是关于在 C++ 中连接字符串和数字?的主要内容,如果未能解决你的问题,请参考以下文章