【发布时间】:2012-03-17 04:21:48
【问题描述】:
抱歉,如果这是一个基本问题,但我无法从其他帖子中弄清楚。我正在尝试读取一堆标记为"1.jpg""2.jpg""3.jpg" 等的图像。我想使用for 循环来这样做。文件阅读器(我在这里使用 SOIL,正如我正在关注的 OpenGL nehe 教程中所推荐的那样),需要 const char* 作为文件名输入。
char numbers[6] = "123456";
for (int i=0;i<6;i++)
{
const char* filestring = new char[5];
*filestring = numbers[i] + ".jpg";
texture[i] = SOIL_load_OGL_texture(filestring, ...
... // filestring should be const char* form
}
错误是:
(1) 错误:字符数组的初始化字符串太长 [-fpermissive]
但我看不出char numbers[6] = "123456" 有什么问题?
错误:分配只读位置 '* filestring'
错误:从 'const char*' 到 'char' 的无效转换 [-fpermissive]
我有点困惑。将不胜感激任何建议!
谢谢。
【问题讨论】:
标签: c++ pointers char constants