c++ 在我的hackertyper程序中,换行符从previus行结束的地方开始

h6my8fg2  于 2023-05-20  发布在  其他
关注(0)|答案(1)|浏览(93)

我正在研究这个,当按下一个键时会显示一个字符,就像在hackertyper网站上一样。但当显示另一行时,它会将其与前一行的末尾对齐。
下面是这些行的显示方式:

Hello,          World!
This is a multi-line string.

以下是它们的显示方式:

Hello,          World!
                      This is a multi-line string

代码如下:

#include <iostream>
#include <thread>
#include <chrono>
#include <ncurses.h>
using namespace std;

int main() {
    string text = "Hello,          World!\nThis is a multi-line string.";
    // Initialize ncurses
    initscr();
    // Enables immediate input mode for capturing key presses in real-time.
    cbreak();
    // Disables showing your input characters, so it won't be gibberish
    noecho();

    for (char c : text) {
        if (c == ' ') {
            cout << c << flush;
        }
        else {
            getch();
            cout << c << flush;
        }
    }

    endwin();
    return 0;
}
v440hwme

v440hwme1#

我通过在else语句中添加另一个if语句来解决这个问题,如下所示:

getch();
if (c == '\n') {
    cout << '\r';
}
cout << c << flush;

相关问题