我正在尝试使用gets()
从用户那里获取一个字符串,但程序似乎直接传递过来gets()
。用户提供输入时不会有任何停顿。为什么是gets()
什么也没做?
char name[13];
printf("Profile name: ");
gets(name);
printf("\n%s", name);
在调用 gets() 或 fgets() 之前先调用 getchar()。由于由于 stdin 中先前输入中已存在 '\n' 而导致 gets() 或 fgets() 被跳过,因此调用 getchar() 将导致自身被跳过,而不是 gets() 或 fgets() 或任何其他类似函数。但请记住,它更多的是一种黑客攻击,而不是一个标准解决方案(我认为是这样),并且禁止使用 gets() 。
printf("\nEnter a String: ");
getchar();
//fgets(inputString, 100, stdin);
gets(inputString);
printf("\n%s", inputString);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)