导航:首页 > 源码编译 > 为什么编译器其他函数识别不了

为什么编译器其他函数识别不了

发布时间:2025-03-13 09:32:04

⑴ c语言的gets函数编译不成功阿,很短的程序

C语言的gets函数一般包含在stdio.h头文件里,如果没有包含比头文件那可能会有问题。第二种情况包含了还出问题,说明你的编译器已经不支持这个函数了,这个函数非常不安全,容易造成溢出,建议换成fgets函数。

函数原型

char *fgets(char *buf, int bufsize, FILE *fp);

数解释:

参数一是输入字符串存放地址,

参数二是存放地址最大容量,

参数三是从哪里输入,可以从文件也可从输入设备,如果从输入设备输入这个参数可以写成stdin,如果从文件输入此参数为文件指针。

返回值

输入成功返回参数一,失败返回NULL.

补充知识:

为什么gets不让用呢,我们可以看它的原型:char *gets(char *buf);

这个函数可以一直输入知道换行或者EOF,它并不考虑buf空间是否足够大能放下,这就容易导致溢出,有些别有用心的人就会利用这个漏洞去攻击你的程序。

而fgets可以通过第二参数保证不会读入超过buf空间的字符。

⑵ 为什么在linux中strlwr()不能编译通过,已经查看过<string.h>,的确在头文件中没有

strlwr和strupr都不是标准的C库函数!有些编译器不支持很正常,编译器不支持的,只能自己定义这两个函数并且用代码自己去实现它。
个人使用过VC++2010,是可以编译通过的,证明VC++2010里边的编译器支持这两个函数。
而linux中的GCC编译器则编译不通过,证明linux下的GCC编译器不支持这两个函数。

阅读全文

与为什么编译器其他函数识别不了相关的资料

热点内容
电视怎么连接播放app 浏览:680
pdf怎么转换成word工具 浏览:865
c语言程序员成长 浏览:887
火影忍者手游助手app怎么下 浏览:832
1997年四川空气压缩机厂 浏览:161
思科配置保存命令是什么 浏览:11
python培训知乎 浏览:755
作业文件夹怎么收藏 浏览:529
安卓系统如何授权悬浮窗 浏览:977
压缩包加密可以用汉语吗 浏览:948
ip池源码 浏览:490
缓解压力大放松一下的地方 浏览:928
工厂哪里用压缩空气 浏览:328
centos如何安装php 浏览:110
丹凤服务器是什么 浏览:148
分析html5源码 浏览:994
资治通鉴中华书局pdf 浏览:212
如何搭建服务器和数据库 浏览:537
论文app怎么用 浏览:466
开源文件服务器加密 浏览:588