C++ 如何清除终端中的一个矩阵,并在同一位置打印另一个矩阵
我在终端上打印一个矩阵。经过计算,我得到了另一个矩阵。我想打印新的矩阵,以替换旧的矩阵。如何清除终端中的旧矩阵? 此代码标识用于创建矩阵。完成计算后,此函数将创建一个新矩阵C++ 如何清除终端中的一个矩阵,并在同一位置打印另一个矩阵,c++,matrix,terminal,C++,Matrix,Terminal,我在终端上打印一个矩阵。经过计算,我得到了另一个矩阵。我想打印新的矩阵,以替换旧的矩阵。如何清除终端中的旧矩阵? 此代码标识用于创建矩阵。完成计算后,此函数将创建一个新矩阵 void TheNewMatrix(char newGame[20][50]){ for(int row=0; row<20; row++){ for(int col=0; col<50; col++){ newGame[row][col]=nextStep[ro
void TheNewMatrix(char newGame[20][50]){
for(int row=0; row<20; row++){
for(int col=0; col<50; col++){
newGame[row][col]=nextStep[row][col];
cout<<newGame[row][col];
}
cout<<endl;
}
}
void TheNewMatrix(char newGame[20][50]){
对于@nwp指出的(int row=0;row),您需要一个平台特定的代码来清除控制台屏幕。但是,在名为cstdlib
的模块中,有一个函数调用系统标准命令处理器的特定命令。因此,在Windows上,您可以使用
system("cls");
在Linux上
system("clear");
允许您更改端子属性(换行符和返回符是其中的两个示例),但它们仅适用于单行。
请注意允许您清除屏幕和移动光标的命令:
(来自)
请注意,IO会被缓冲,许多系统在收到换行符后只“刷新”要输出的字符串,因此控制命令只有在手动刷新缓冲区时才会生效:fflush(stdout);
注意:windows中对这些代码的支持是有限的,有关详细信息,请查看上述wikipedia文章中的“windows”部分。标准库中不支持这些代码,因此您需要特定于平台的代码或类似ncurses的库来实现这一点。
system("clear");
printf("\033[XA"); // Move up X lines;
printf("\033[XB"); // Move down X lines;
printf("\033[XC"); // Move right X column;
printf("\033[XD"); // Move left X column;
printf("\033[2J"); // Clear screen
...