warning: the 'gets' function is dangerous and should not be used.的解决办法

在Linux下,使用

gets(str)

函数报错:warning: the 'gets' function is dangerous and should not be used.

随便百度一下都能出现很多解决问题,都是让你换成fput(),换了之后那还是解决问题吗?如:

解决办法:采用

fgets(str,100,stdin);//100为size

问题解决!

问题是解决了,警告没有了,没有了正常好吗?你把函数给我换了,我gets()函数的警告你还是没给我解决,根本问题在于,linux、下gcc不支持gets()函数,step跟踪一下就能发现问题所在,那就是:gets从终端读入是的字符串是用\0结束的,而fgets是以\n结束的(一般输入都用ENTER结束),然后strcmp两者的时候是不会相等的!

所以呢,为了安全性,这个警告其实是可以忽略的,不影响程序的,所以就让他warning去把……

这个问题我也没解决,但是我告诉大家,这个警告是无关紧要的,所以大家放心用把……

posted on 2012-05-31 20:24  蒋少  阅读(2775)  评论(0编辑  收藏  举报

导航