c语言中遇到“警告: the `gets' function is dangerous and should not be used.”的解决办法 写于2016年12月1日。 在用c的库函数gets(str)时,编译出现该提示。原因在于linux下gcc不支持gets命令,要换成fgets(arr,size,stdin)。
Why is the gets function so dangerous that it should not be used? (13 answers) Closed 9 years ago. When i use gets function,gcc gives me a warning: warning:the `gets' function is dangerous and should not be used. Why gets and puts function dangerous? c Share Improve this question ...
gets(s); ^ /tmp/cczUUgFf.o: In function `main': main.c:(.text+0x30): warning: the `gets' function is dangerous and should not be used. 1. 2. 3. 4. 5. 6. 虽然能够运行,但作为一个强迫症患者怎么能允许代码有警告出现呢?我们可以从警告的提示可以看到,gets函数是危险的,不建议去使用。
解决方法:使用更安全的函数fgets()来代替gets()。 错误:warning: the gets function is dangerous and should not be used. 解决方法:同样使用fgets()函数来代替gets()。 错误:undefined reference to 'gets' 解决方法:gets()函数在最新的C标准中已经被弃用,很多编译器不再支持。可以使用fgets()函数替代gets()。
Linux 下使用C语言 gets()函数报错 在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 fgets(cmd,100,stdin);//100为size 问题解决! fgets从stdin中读字符,直至读到换行符或文件结束,但一次最多读size个字符。读出的字符连同换行符存入...
gets(s); ^ /tmp/ccvwVatT.o:在函数‘main'中: linuxidc.c:(.text+0x1f): 警告:the `gets' function is dangerous and should not be used. 问题解决 原因就在于,gets不会去检查字符串的长度,如果字符串过长就会导致溢出。如果溢出的字符覆盖了其他一些重要数据就会导致不可预测的后果。在man手册里也有...
linux C语言编程错误解决之 “warning: the `gets' function is dangerous and should not be used.” 问题出在程序中使用了getsLinux 下gcc编译器不支持这个函数,解决办法是使用fgets fgets()函数的基本用法为: fgets(char * s,int size,FILE * stream); ...
当我使用GCC编译使用gets()函数的C代码时,会收到以下警告: (.text+0x34): 警告:`gets'函数是危险的,不应该使用。我记得这与堆栈保护和安全有关,但我不确定具体原...Why is the gets function so dangerous that it should not be used?
gets(s); ^ /tmp/ccvwVatT.o:在函数‘main'中: linuxidc.c:(.text+0x1f): 警告:the `gets' function is dangerous and should not be used. 问题解决 原因就在于,gets不会去检查字符串的长度,如果字符串过长就会导致溢出。如果溢出的字符覆盖了其他一些重要数据就会导致不可预测的后果。在man手册里也有...
考虑到程序安全性和健壮性,建议用fgets()来代替gets()。 如果你在GCC中使用gets(),编译无法通过,会提示: the 'gets' function is dangerous and shout not be used.