如何在应该已经显示的printf之前输入字符?

时间:2014-03-08 19:13:30

标签: c++ arrays

我需要使用C ++创建一个看起来像简历的程序。问题是我无法弄清楚如何输入应该已经在屏幕上的printf显示。例如,我需要输出:

Name: _________ _____________ ____ 
      Last Name First Name    MI 

您应该已经显示姓氏,名字和MI,但我应该在他们面前输入我的答案。我相信我们应该只使用数组,循环,函数(void)来创建它,而不是更高级。救命啊!

1 个答案:

答案 0 :(得分:1)

鉴于问题似乎是在没有使用“高级”库的情况下要求解决方案,这是一种可能性,基于ANSI转义序列,可以找到here

这是一个开始的例子,表明这种事情可以手动完成。

#include <stdio.h>
#include <stdlib.h>

int main(){
    // Clear screen.
    printf("\033[2J");
    printf("Name: _________ _____________ ____\n"
            "       Last Name First Name    MI\n");

    // Move cursor up two lines
    printf("\033[2A");
    // Move cursor forward six characters.
    printf("\033[6C");

    char lastName[20];
    char firstName[20];
    char MI[10];
    scanf("%s %s %s", lastName, firstName, MI);
    // Move the cursor down two lines
    printf("\033[2B");
    printf("Name: %s %s %s\n", firstName, lastName, MI);
}