Chinaunix首页 | 论坛 | 博客
  • 博客访问: 682345
  • 博文数量: 109
  • 博客积分: 2033
  • 博客等级: 大尉
  • 技术积分: 1454
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-11 13:26
文章分类

全部博文(109)

文章存档

2012年(5)

2011年(104)

分类: C/C++

2011-03-26 09:30:32

今天在LINUX下编译C程序时,出现了the "gets" function is dangerous and should not be used这个warning,百度之后,得知可以用fgets(tempstr,10,stdin)//tempstr 为char[]变量,10为要输入的字符串长度,stdin为从标准终端输入。
根据以上改动后,果然没有了warning,但是调试了n久的一个程序,确实怎么也没有正确结果,最后step跟踪,才发现了问题所在!那就是:
gets从终端读入是的字符串是用\0结束的,而fgets是以\n结束的(一般输入都用ENTER结束),然后strcmp两者的时候是不会相等的!(我另一个变量是从文件读入的!)。。
调了我好久阿!!!

所以建议大家还是继续让它warning吧。。为了正确性!

阅读(1542) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~