gets()函数中的CR字符
用户键入一个字符串,可能由制表符、空格和“回车”(CR) 分隔。 我需要收到所有这些;问题是当用户按下“Enter”键时 gets() 函数停止扫描。 还有其他方法吗?除了 scanf 和 gets 之外,我无法使用任何其他函数。
The user types a string, possibly separated by tabs, spaces and "enters" (CRs).
I need to receive all of it; the problem is that gets() function stops the scan when the user presses the "Enter" key.
Is there another way to do it? I cannot use any other function except for scanf and gets.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先:
gets()
真的很邪恶。 永远不要使用它。使用
gets()
不可能编写正确的程序。考虑
read()
、getchar()
、...First of all:
gets()
is really evil. DONT EVER USE IT.It is not possible to write a correct program using
gets()
.Consider
read()
,getchar()
, ...使用循环。继续 getc(将结果放入足够大的缓冲区中),直到遇到 EOF。
Use a loop. Keep
getc
ing (putting the results into some large-enough buffer), until you encounterEOF
.为什么需要“输入”?通过返回的事实您知道检测到回车符(或文件结尾)。
Why do you need the "Enter"? You know by the fact that gets returned that a carriage return (or end of file) was detected.