c++ - 我将如何覆盖打印的二维数组以模拟 'updates'

标签 c++ arrays multidimensional-array

给定一个名为“world”的二维数组和下面的代码,将数组输出到控制台。我想使用 while 循环不断更新输出的数组,以通过更改数组值来模拟移动和其他 Action ,而不会在每次更新时杂乱无章地重新打印整个内容。

我认为最好的方法是尝试将输出流重置为第一行并在每次更新时覆盖之前打印的数组,但我不确定如何执行此操作。

char world[20][20];
for (unsigned int row = 0; row < std::size(world); row++)
{
    for (unsigned int col = 0; col < std::size(world); col++) 
    {
        std::cout << world[row][col];
    }
    std::cout << std::endl;

}

最佳答案

有一种简单的方法可以在一行中执行此操作,使用 \rprintf,如讨论的那样 here .但是,如果像您一样希望重印多行,我不确定这是否容易。

更好的建议是使用类似 ncurses 的东西,这似乎是为您的目的而设计的,并且可能用于使您看到的其他程序以这种方式运行。

关于c++ - 我将如何覆盖打印的二维数组以模拟 'updates',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47948230/

相关文章:

c++ - 更智能的方式来实现这个 switch 语句

c++ - 使用 `void*` 将右值引用绑定(bind)到左值

javascript - 在 JavaScript foreach 中使用数组

c - 在结构中动态分配一个**指针

c++ - 为什么这个 boost::variant::operator= 不调用编译?

c++ - 我如何在 linux 中发现堆栈溢出问题?

java - 一副牌

c - K & R 的 The C Programming Language 的练习 1-13 中的最后几行代码在做什么?

java - 在 3 维空间中移动所有点而不存储所有可能的坐标

arrays - Swift - 更新多维 NSMutableDictionary 的值