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

时间:2013-03-28 03:04:12

标签: c++ c eclipse-cdt eclipse-juno

我在Windows7上使用gg4和gdb通过cygwin删除了六月CDT。我似乎无法从控制台获取输入。我四处搜索它可能与eclipse的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");
                    }
              }
         }

}

2 个答案:

答案 0 :(得分:1)

找到一对相关的SO相关问题:

长话短说,他们说cygwin与其他操作系统相比,作为缓冲区被“不同”地对待,因此控制台不像它(可能)那样具有“交互性”。某些解决方案建议显式刷新缓冲区,而其他解决方案则提供配置选项。

答案 1 :(得分:0)

您需要为Eclipse配置命令行参数:在Run configurations&gt; Arguments

请阅读

还考虑使用Ant作为构建脚本。从长远来看效果更好。