我尝试在循环中使用fgets()从键盘中断用户输入的字符串,但是在用CTRL + Z结束输入之后,程序将无限运行。
运行gbd后,一旦我按CTRL + Z,调试器就会显示一条消息,但我无法真正从中获得有用的信息。
char buf[20]
for(int i = 0; i < 10; i++) {
printf("Enter string: ");
if(fgets(buf, sizeof(buf), stdin) == NULL)
break;
稍后,我将动态分配堆内存,并使用strlcpy()将用户输入复制到指针中。
我正在使用Windows 10,Netbeans和Cygwin。