Eclipse를 사용하여 C++로 작성한 프로그램을 디버깅하려고합니다. 프로그램은 사용자로부터 입력을받는 것을 포함하지만 콘솔에 입력을 입력해도 코드를 계속 실행하지 않습니다 (입력을 요구할 것입니다). 이 문제를 고치지 않고도 디버그 할 수 없으며 도움이 필요합니다. 감사합니다.콘솔에서 입력을 사용하여 Eclipse 디버깅
코드는 동안 루프는 fgets에 걸리면 :
int main(int argc, const char**argv) {
FILE* inputFile = NULL;
setlocale(LC_ALL, "");
if(argc == 2){
inputFile = fopen(argv[1], "r");
if (inputFile == NULL){
printf("Problem opening file %s, make sure correct path name is given.\n", argv[1]);
return 0;
}
}
else {
inputFile = stdin;
}
char buffer[MAX_STRING_INPUT_SIZE];
// Reading commands
while (fgets(buffer, MAX_STRING_INPUT_SIZE, inputFile) != NULL) {
fflush(stdout);
if (parser(buffer) == error){
printf("ERROR\n");
break;
}
};
fclose(inputFile);
return 0;
}
여기에 관련 코드를 첨부 할 수 있습니까? – hmatar
Eclipse 외부에서 프로그램을 독립 실행 형 실행으로 실행해도 동일한 문제가 발생합니까? –
이것이 도움이되는지 확인하십시오 : http://stackoverflow.com/questions/4711098/passing-end-of-transmission-ctrl-d-character-in-eclipse-cdt-console – queen3