C++ で作成したプログラムを Eclipse を使用してデバッグしようとしています。プログラムにはユーザーからの入力が含まれていますが、コンソールに入力を入力すると、コードの実行が継続されません (入力を求め続けます)。これを修正せずにデバッグすることはできません。助けていただければ幸いです。ありがとうございました。
while ループ 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;
}