黑马程序员技术交流社区

标题: 关于屏幕输入函数的一点小疑问 [打印本页]

作者: 流风124    时间: 2015-3-24 21:41
标题: 关于屏幕输入函数的一点小疑问
这是我在做基础测试的时候遇到的问题,关于输入函数的
gets()函数,在编译完成后会报警告,我上网查了一下,是会有溢出的危险,但是使用scanf()不接收空格和Tab键,当输入字符串的时候又感觉使用getchar()函数很麻烦,网上有说使用fgets()函数,但这个貌似是读文件的吧,想请问大神有没有什么好的解决方法:dizzy:
作者: hellooc    时间: 2015-3-24 22:48
警告是编译器的原因,比如在VS中使用gets会警告,并且建议使用其他函数代替,比如你说的fgets,而在VC中使用就不会
作者: Reliable    时间: 2015-3-24 23:21
不太了解,学习了
作者: bansy_chen    时间: 2015-3-25 01:32
gets()函数是警告的 可以编译运行的 不影响我们的操作,当然多学点还是比较好的。
刚刚看到一个朋友在另一个帖子发的对比 我给你粘贴一下哈。
作者: bansy_chen    时间: 2015-3-25 01:35

岳挺 发表于 2015-3-14 21:34
scanf(),getchar(),gets()三者的用法和区别?

读取字符时:
scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
getchar()以Enter结束输入,也不会舍弃最后的回车符;
读取字符串时:
scanf()以Space、Enter、Tab结束一次输入
gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符
作者: 流风124    时间: 2015-3-25 07:03
hellooc 发表于 2015-3-24 22:48
警告是编译器的原因,比如在VS中使用gets会警告,并且建议使用其他函数代替,比如你说的fgets,而在VC中使 ...

使用fgets()不是接收从文件读入的记录的吗?可以接收从屏幕输入的?
作者: 舒少勇    时间: 2015-3-25 07:46
不知道 还没有学习到啊
作者: adolph    时间: 2015-3-26 01:02
                                                         过来学习下      




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2