コンソールウィンドウで█ブロックで作成した80x20グリッドを編集して、 "キャンバス"(座標(2,2)など)にスペースを単に印刷しようとしています。2D配列と座標
私はプログラムを実行した後に、これらの3文字を取得しないのはなぜ
(私だけのために、各ループを学びました)私の最初の場所 でグリッドを作成するためのより良い方法を提案してください?
なぜ(2,2)ブロックのスペースではなく、明らかに中央のどこかの最初の行にあるのでしょうか?
コード:
#include <iostream>
int main()
{
uint8_t block {219}; // █
uint8_t space {32}; // ' '
uint8_t screen[80][20] {};
for (auto &row : screen) // make the "canvas"
for (auto &col : row)
col = block;
for (int row = 1; row <= 80; ++row)
{
for (int col = 1; col <= 20; ++col)
{
if (col == 2 && row == 2)
screen[row][col] = space;
}
}
std::cout << *screen;
return 0;
}
をすべてのCスタイルの文字列がnullで終了する必要があります。 – NathanOliver
列を1つ増やすと、最後の列に改行文字を配置できます。 1つのステートメントで配列全体を印刷できるので、印刷を簡略化することができます(終端文字に余分なスロットを確保してください)。 –