如何允许用户在C语言的窗口中间*的终端中输入文本?

时间:2019-11-24 10:08:58

标签: c terminal read-eval-print-loop getchar

例如,我正在研究类似这样的基本内容:

#include <stdio.h>

int main(void) 
{
    char name[20];
    printf("Hello. What's your name?\n");
    //scanf("%s", &name);  - deprecated
    fgets(name,20,stdin);
    printf("Hi there, %s", name);
    return 0;
}

此操作在第一行之后停止,然后在键入后打印第二行。我不要这种行为。

相反,我希望它看起来像这样:

------------------------------------

               Welcome


      Enter email: |
      Enter password:



------------------------------------

|是光标闪烁的地方。当他们按Enter键时,会将他们带到密码行的下一行。当他们从中按下Enter键时,也许会清除密码,然后必须再次输入密码,依此类推。然后,他们在最后一次按下Enter键,并显示“成功”。

我不需要确切地知道如何实现它,但是我想知道一般的策略,所以我可以弄清楚它是因为它涉及许多功能。我主要不确定如何将光标正确放置在C中。我了解 ansi转义序列,以及如何定位光标。我要在C中执行此操作吗?有什么好的例子可供我参考吗?用什么技术来做到这一点?

0 个答案:

没有答案