开发者社区> 问答> 正文

请问一下这个为什么报错

vs2015没有定义gets
所以用了gets_s,实参类型是char没错哇
![Uploading screenshot . . .]()

展开
收起
a123456678 2016-03-24 10:38:06 1879 0
1 条回答
写回答
取消 提交回答
  • get_s,函数是微软自己推出来的,需要两个参数,一个是缓冲区的地址,一个是你要读入多少数据。这个函数并非c标准库。
    _你可以在编译器的最前面加上这句话#define _CRT_SECURE_NO_WARNINGS,这样编译器就不会说get函数不能用了(实际上vs支持这个函数的,只是默认不支持)。
    不过这个函数很不安全,推荐你以后使用这个函数char fgets(char buf, int bufsize, FILE *stream);你可以这样写:
    fgets(buf,bufsize,stdin)
    buf是你定义的缓冲区的地址,bufsize表示最多读入bufsize-1个数据,stdin是一个系统已经定义好的宏,表示标准输入(具体来说,这里是你敲打键盘时的输入)。当这个函数遇到回车就会停止。

    2019-07-17 19:12:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载