2013-03-28 69 views
3

我使用gcc4和gdb通過cygwin在Windows7上eclipse 6月CDT。我似乎無法從控制檯獲取輸入。我搜索了四周,它可能與EOF的日食有關,可以通過在運行/調試配置中取消選中「連接輸入到終端的輸入&」來解決。但我似乎無法取消選中它。如何在Eclipse中使用C/C++程序的控制檯輸入CDT

任何人都可以提出最好的方法來解決這個問題。

#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"); 
        } 
       } 
     } 

} 
+0

你是指在Eclipse中的cygwin「控制檯」(如終端會話)或「控制檯」視圖(選項卡)?就像你能從Eclipse的控制檯視圖中獲得輸入一樣嗎? – SeKa 2013-03-28 08:22:38

+0

Eclipse控制檯視圖。 – Nomad 2013-03-29 03:40:04

+0

所以你可以在那裏輸入,但是當你點擊「Enter」或者它沒有讀入你的程序?我在MacOSX上使用過Eclipse CDT,並沒有控制檯輸入問題。試圖發送「EOF」時,這只是一個問題嗎?當控制檯標籤具有焦點時,「Ctrl-D」不起作用(發送EOF)嗎? – SeKa 2013-03-29 04:47:17

回答

0

您需要配置Eclipse的命令行參數:在運行配置>參數

這裏閱讀

也可以考慮使用Ant作爲構建腳本。從長遠來看,效果更好。

1

發現一對相關的相關的SO問題:

長話短說,他們說的cygwin被視爲 「不同」 作爲緩衝與其他相比,操作系統的,因爲這個控制檯不像它(應該)那樣「交互」。有些解決方案建議顯式刷新緩衝區,而其他解決方案則提供配置選項。

相關問題