Неопределенный индекс: name_of_your_nonce_field во время первого основного примера с

Для Windows через Console API:

void clear() {
    COORD topLeft  = { 0, 0 };
    HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO screen;
    DWORD written;

    GetConsoleScreenBufferInfo(console, &screen);
    FillConsoleOutputCharacterA(
        console, ' ', screen.dwSize.X * screen.dwSize.Y, topLeft, &written
    );
    FillConsoleOutputAttribute(
        console, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE,
        screen.dwSize.X * screen.dwSize.Y, topLeft, &written
    );
    SetConsoleCursorPosition(console, topLeft);
}

Он с радостью игнорирует все возможные ошибки, но эй, это консольная очистка. Не похоже на то, что system("cls") лучше справляется с ошибками.

Для * nixes вы обычно можете использовать escape-коды ANSI, поэтому это будет:

void clear() {
    // CSI[2J clears screen, CSI[H moves the cursor to top-left corner
    std::cout << "\x1B[2J\x1B[H";
}

Используя system потому что это просто уродливо.

0
задан SL5net 28 February 2019 в 16:49
поделиться