重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1,路径设置的问题
成都创新互联公司专业为企业提供余江网站建设、余江做网站、余江网站设计、余江网站制作等企业网站建设、网页设计与制作、余江企业网站模板建站服务,十年余江做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
这样的问题大部分出现在
tc2下
应该是
..tc\include\
2,语法的问题
#include
你举的这些函数都不是C语言的标准库函数,它们都不是ANSI C的组成部分,建议不要在一般情况下使用这些非标准函数。
同时建议不要再继续阅读大量使用这些函数的C语言学习教材。
这里原因是gets函数不安全,visual studio的后续产品已经不再支持此类函数,可以换成fgets(str1, sizeof(str1), stdin);
第一个参数是,字符存储地址,第二个是最大内存大小,第三个是从哪里读取,stdin是从键盘,也可以是文件指针表示从文件中读取。
其实strcpy出现提示也是不安全的,可以考虑使用strncpy函数。
以下是扩展资料
C语言gets函数,fgets函数的使用
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取。函数的具体功能如下所示:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
使用gets函数的时候应注意以下要素:可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,破坏一个或多个不相关变量的值。
这个事实导致gets函数只适用于玩具程序,为了避免这种情况,我们可以用fgets(stdin) 读取标准输入来替换gets()。为了向后兼容,gets删除换行符,gets并不将换行符存入缓冲区。
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。原型是char *fgets(char *s, int n, FILE *stream);
同时注意scanf函数和gets函数混用时的注意事项:
1、gets在scanf前调用,这种调用一般不会出现什么问题,可以正常输入。
2、scanf在gets前调用,这种情况就会出现问题,当输入完scanf中的变量时,运行到gets函数,则不让输入任何字符,出现此问题的原因是gets函数接收了scanf输入完后的回车符,解决的办法是在scanf和gets中间,用getchar函数接收掉回车符,这样就不会出现任何问题了。