Как получить консольный ввод для программы C / C ++ в Eclipse CDT

У меня затмение июньского CDT с gcc4 и gdb через cygwin на Windows7. Я не могу принять ввод с консоли. Я искал вокруг, и это может быть связано с EOF для затмения, которое может быть решено снятием флажка «Подключить вход процесса & вывод на терминал «в конфигурации Run / Debug. Но я не могу снять его.

Может кто-нибудь предложить лучший способ исправить эту проблему.

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

}

3

Решение

Нашел пару соответствующих связанных вопросов SO:

Короче говоря, они говорят, что cygwin «по-разному» рассматривается как буфер по сравнению с другими ОС, и из-за этого консоль не настолько «интерактивна», как (вероятно). Некоторые решения рекомендуют явную очистку буфера, в то время как другие предлагают варианты конфигурации.

1

Другие решения

Вам необходимо настроить аргументы командной строки для Eclipse: в разделе «Выполнить настройки»> «Аргументы».

Читать здесь

Также рассмотрите возможность использования Ant в качестве сценария сборки. Работает лучше в долгосрочной перспективе.

0

По вопросам рекламы [email protected]