我正在尝试使用 Eclipse 调试我用 C++ 编写的程序。该程序包括从用户那里获取输入,但是当我将输入输入到控制台时,它永远不会继续运行代码(它会一直要求输入)。如果不修复此问题,我将无法调试,希望能得到一些帮助。谢谢你。
代码卡在 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;
}