如何在Eclipse CDT中获取C/C++程序的控制台输入

3
我有一个在Windows7上通过cygwin使用gcc4和gdb的eclipse June CDT。我似乎无法从控制台接收输入。我搜索了一下,可能与EOF有关,可以通过在运行/调试配置中取消选中“将进程输入和输出连接到终端”来解决此问题。但我似乎无法取消选中它。
请问有人能建议最好的解决方法吗?
#include <stdio.h>
#include <stdlib.h>

void menu();
int main(void) {


    menu();
    return 0;
}


void menu()
{
    int i=0;
     printf(" \n1. Push to Queue");
         printf(" \n2. Pop from Queue");
         printf(" \n3. Display Data of Queue");
         printf(" \n4. Exit\n");
         while(1)
         {
              printf(" \nChoose Option: ");
              scanf("%d",&i);
              switch(i)
              {
                    case 1:
                    {
                         int value;
                         printf("\nEnter a valueber to push into Queue: ");
                         scanf("%d",&value);
                        // push(value);
                        // display();
                         break;
                    }
                    case 2:
                    {
                        // delQueue();
                        // display();
                         break;
                    }
                    case 3:
                    {
                        // display();
                         break;
                    }
                    case 4:
                    {
                         exit(0);
                    }
                    default:
                    {
                         printf("\nwrong choice for operation");
                    }
              }
         }

}

你是指cygwin的“控制台”(类似于终端会话)还是Eclipse内部的“控制台”视图(选项卡)?例如,您可以从Eclipse的控制台视图获取输入吗? - SeKa
Eclipse控制台视图。 - Nomad
所以您可以在那里键入,但是当您按“Enter”或其他键时,它不会读取到您的程序中?我在MacOSX上使用Eclipse CDT,控制台输入没有问题。这只是在尝试发送“EOF”时才会出现问题吗?当控制台选项卡具有焦点时,“Ctrl-D”无法工作(发送EOF)吗? - SeKa
你能否尝试发布一小段代码的例子,看看它是否能够正常工作?(或者你能验证它在其他控制台环境中是否可用吗?) - SeKa
当我运行它时,在控制台视图中看到空白屏幕。它甚至不打印菜单。Ctrl-D没有任何作用。如果我按回车键,它会继续在新行上进行。当我按下Ctrl-Z时,它退出并打印菜单。 - Nomad
2个回答

1
你需要为Eclipse配置命令行参数:在“运行配置”>“参数”下进行。请阅读此处。同时考虑使用Ant作为构建脚本,从长远来看效果更好。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接