fgets()到fgets()后到同一个控制台行

时间:2016-03-22 20:27:03

标签: c newline stdout stdin

#include <stdio.h>
int main()
{
    char line[100];

    fputs("Enter text: ", stdout);
    fgets(line, 100, stdin);
    putchar('\b');    //doesn't do anything
    fputs("   <-- What a great text!", stdout);
}

代码打印:

Enter text: (whatever)
   <-- What a great text!

相反,我曾希望:

Enter text: (whatever)   <-- What a great text!

显然'\b' '\n'无法退出stdin ncurses,即使它是最后一个字符。

也许有任何想法? C ++会很好,像stdout这样的库不行。仅供参考:https://angular-ui.github.io/bootstrap/仅处理{ "result": [ { "Date": "18-3-2016", "Events": "Local Holiday" }, { "Date": "23-3-2016", "Events": "Monthly Fees" }, { "Date": "15-4-2016", "Events": "Monthly Fees" }, { "Date": "23-4-2016", "Events": "Annual Day" }, { "Date": "30-4-2016", "Events": "session end" }, { "Date": "9-4-2016", "Events": "Parent Teacher Meeting" } ] } 无用户输入。

2 个答案:

答案 0 :(得分:2)

如果您可以使用console codes

DataId

答案 1 :(得分:0)

将光标向前移动N列(取决于您要打印的内容),然后将光标向上移动1行。对于Ex:我将光标向右移动30列,然后向上移动1行。这应该有用。

#include <stdio.h>
int main()
{
    char line[100];

    fputs("Enter text: ", stdout);
    fgets(line, 100, stdin);
    printf(" \033[30C");
    printf("\033[1A");
    fputs("   <-- What a great text!", stdout);
}

代码打印:

Enter text: (whatever)            <-- What a great text!