【发布时间】:2012-12-07 08:35:30
【问题描述】:
我编写了一个必须将二维数组写入文件的过程。代码如下:
void Level::loadLevel(){
int levelmap[15][9];
FILE *fp = fopen("resources/lvls/loc1.map", "wb");
for (int i=0;i<=15;i++){
for(int j=0;j<=9;j++){
levelmap[i][j]=i+j;
}
}
char asd[255];
for (int i=0;i<=15;i++){
for(int j=0;j<=9;j++){
char *buffer=itoa(levelmap[i][j],asd,1);
fwrite(buffer,2,sizeof(buffer),fp);
};
};
fclose(fp);
}
它正在编译,但在调用此函数应用程序时崩溃。我将其称为 cocs2d-x 菜单项的 menu_selector 属性。为什么会崩溃?
更新:更改为文件流广告效果很好
【问题讨论】:
-
文件真的打开了吗?检查
fopen的返回值。您还可以在循环中一对多地索引您的数组。 -
它是如何崩溃的?抛出什么异常?哪条线路有问题?您是否尝试过调试此代码?
-
是的,它已经打开了。文件清除并关闭。试过这段代码: void Level::loadLevel(){ FILE* fp = fopen("resources/lvls/loc1.map", "w+"); fwrite("test",1,sizeof("test"),fp); fclose(fp);} 但它返回
Run-Time Check Failure #0 -
您无法写入 apk 文件。您只能写入 sdcard(如果您有权限)或 CCFileUltis 中的 getWriteablePath()。
标签: c++ visual-c++ crash cocos2d-x