2

Вопрос по console-application, visual-c++ – Как пройти строку вверх в консольных программах (C ++)

В C ++ я пытаюсь вернуться на строку вверх, чтобы добавить несколько символов. Вот мой код до сих пор:

cout << "\n\n\n\n\n\n\n\n\n\n\xc9\xbb\n\xc8\xbc"<<flush;
Sleep(50);

Как видите, у меня 10 символов новой строки. В моей анимации новый блок будет падать с верхней части экрана. Но я не знаю, как вернуться к этим строкам, чтобы добавить нужные мне символы. Я пытался \ r, но это ничего не делает и \ b не идет вверх по предыдущей строке. Кроме того, что именно делает flush? Я программировал на C ++ только около 2 дней, поэтому я новичок = P.

Спасибо!!!

Кристиан

  • Error: User Rate Limit Exceeded

    от 43.52.4D.
  • Error: User Rate Limit ExceededexceptError: User Rate Limit Exceeded

    от
  • Error: User Rate Limit ExceededneedError: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от 43.52.4D.
  • Error: User Rate Limit Exceeded

    от
  • 7

    Если ваша консоль поддерживает cout << "\x1b[A";

    Если ваша консоль поддерживаетEscape-последовательности VT100 (большинство делают), то вы можете использоватьESC [ A, как это:

    cout << "\x1b[A";
    

    переместить курсор вверх на одну строку. Повторите по мере необходимости.

  • 4

    В Windows вы можете использовать это

    пример

    там вы создадите CreateConsoleScreenBuffer () и затем используете SetConsoleCursorPosition (console_handle, dwPosition);

  • 0

    cout сначала будет записывать во внутренний буфер и только периодически выводить его на экран, а не для каждого вставляемого символа. Это из соображений производительности.

    flush говорит ему, чтобы очистить буфер сейчас и показать его на экране.

    Вы должны рассмотреть библиотеку какNcurses.