小编Krv*_*era的帖子

在 C 中同时通过管道传输标准输入和键盘

我也读过有关此问题的先前问题。fflush(stdin) 在这种情况下对我不起作用。我希望我的程序从管道标准输入读取并从中间的键盘输入继续。

int main()
{
    int userin = 3;
    read_input();   
    userin = print_menu();
    userin = parse_input(userin);

    return 0;
}  
Run Code Online (Sandbox Code Playgroud)

我想从文件中读取数据,该文件作为管道标准传递给程序,例如

程序<测试文本

int read_input(){
    char line[200];
    char word[MAX_STRING+1];
    int line_number = 0;

    while(fgets(line, sizeof(line), stdin) != NULL ){
        //do something
        printf("%s",line); 
        line_number++;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在 read_input 必须完成从管道输入的读取。“print_menu”必须继续从键盘读取。

int print_menu()
{
    int userinput;
    char c;
    char num[4];
    while((c=getchar()) != '\n' && c != EOF && c != '\r');

    printf("\n1. Choice 1 \n");
    printf("2. Choice 2\n");
    printf("3. Exit\n");
    printf("Enter your choice (1-3): "); …
Run Code Online (Sandbox Code Playgroud)

c stdin

4
推荐指数
1
解决办法
1573
查看次数

标签 统计

c ×1

stdin ×1