使用std :: ofstream C ++的无限while循环

西祖

好吧,我有那个将数组映射保存到txt文件中的代码:

std::ofstream output("mapa.txt");
for(int y=0;y<worldHeight;y++) {
    for(int x=0;x<worldWidth;x++) {
        output<<scene[x][y];

        if(x<(worldWidth-1)){output<<",";}
    }
    if(y<(worldHeight-1)){output<<std::endl;}
}

我想将其集成到while循环中:

std::ofstream output("mapa.txt");

while (true) {
    if (yPos == topOfTheWorld) {
        scene[xPos][yPos] = 2;
    } else if (yPos >= topOfTheWorld) {
        scene[xPos][yPos] = 1;
    } else if(yPos < topOfTheWorld) {
        scene[xPos][yPos] = 0;
    } else {
        scene[xPos][yPos] = 0;
    }

    output<<scene[xPos][yPos] << ",";

    //if(xPos<(worldWidth-1)){output<<",";}

    //if(yPos<(worldHeight-1)){output<<std::endl;}

    yPos++;

    if(yPos>worldHeight) {
        output<<std::endl;
        slope = random(5)-2;
        if(topOfTheWorld<(worldHeight/6)) {
            slope = 1;
        } else if(topOfTheWorld>(worldHeight-10)) {
            slope = -1;
        }
        topOfTheWorld += slope;
        yPos = 0;
        xPos++;
    }

    if (xPos>=worldWidth) {
        break;
    }

}

但是由于某些原因,“ while”循环变为无限...:/

我能做些什么?

索林

代码看起来不错。但是我不确定scene是否分配正确。您拥有yPos>worldHeight和在下面xPos>=worldWidth,这表明您不确定如何比较这些。我怀疑您至少其中之一错了。这可以轻松地在场景变量之外编写并覆盖yPos或xPos。

尝试更改为ypos>=worldHeight,看看是否可行。如果没有检查您分配了多少空间,scene并且看起来还可以,请尝试使其变大一些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C中使用scanf停止无限while循环?

来自分类Dev

在std :: ofstream中复制std :: cout(C ++)

来自分类Dev

C ++使用ofstream写入文件

来自分类Dev

C无限做while循环

来自分类Dev

在for和while循环中使用计数的C ++哨兵。陷入无限循环

来自分类Dev

使用bufferedreader的无限while循环

来自分类Dev

使用std :: ofstream格式化c ++中的float变量输出

来自分类Dev

错误:使用已删除的函数std :: basic_ofstream(OpenCV和C ++ 11)

来自分类Dev

c ++ 11 std :: thread使用ofstream输出的东西,但是什么也没得到,为什么?

来自分类Dev

无限while循环和控制-c

来自分类Dev

无限循环 C++ 与 while 和向量对

来自分类Dev

无限While循环-使用内存吗?

来自分类Dev

如何使用pytest测试无限while循环

来自分类Dev

如何使用pytest测试无限while循环

来自分类Dev

C++ ofstream vs basic_ofstream

来自分类Dev

C ++-fstream和ofstream

来自分类Dev

C ++:ofstream问题

来自分类Dev

C ++:使用ofstream时获取打印的字符数

来自分类Dev

ofstream创建文件,但不使用C ++写入文件

来自分类Dev

C while循环无限循环EOF不起作用

来自分类Dev

C ++ While循环即使在正确答案下也可以无限循环

来自分类Dev

DirectShow使用C ++无限循环视频

来自分类Dev

DirectShow使用C ++无限循环视频

来自分类Dev

通过SWIG在Python中使用std :: ifstream,std :: ofstream的技术?

来自分类Dev

std :: ofstream :: write添加字符

来自分类Dev

std :: ofstream不写入文件

来自分类Dev

std :: ofstream的unordered_map

来自分类Dev

C ++:布尔表达式导致无限While循环

来自分类Dev

C 上的无限 do-while 循环(2 个条件)