glutStrokeCharacter绘制一个int变量

时间:2013-11-26 12:54:49

标签: c++ opengl glut

我正在尝试使用方法glutStrokeCharacter使用以下代码绘制一个int到屏幕

    int fuel = 400;
    std::string t = std::to_string(fuel);
    char *fueltxt;
    for (fueltxt = t; *fueltxt != '\0'; fueltxt++)
        {
            glutStrokeCharacter(GLUT_STROKE_ROMAN , *fueltxt);
        }

我正在使用XCode,我在for循环中遇到以下错误,特别是在fuel txt = t

“从不兼容的类型'std :: string'(又名'basic_string,allocator>')分配给'char *'

1 个答案:

答案 0 :(得分:3)

使用迭代器执行C ++方式:

int fuel = 400;
std::string t = std::to_string(fuel);

for (auto c = t.begin(); c != t.end(); ++c)
{
  glutStrokeCharacter(GLUT_STROKE_ROMAN, *c);
}

如果您的编译器支持它们,您甚至可以使用基于范围的for循环:

int fuel = 400;

for (char c : std::to_string(fuel))
{
  glutStrokeCharacter(GLUT_STROKE_ROMAN, c);
}