软猪手游网,绿色安全的游戏、软件下载站!

最新更新应用分类人气网游经典单机必备应用本周排行

当前位置:首页游戏资讯游戏攻略 → c语言gets()的用法(c语言gets的用法)

c语言gets()的用法(c语言gets的用法)

发布时间:2022-12-25 15:48:32作者:软妹子阅读:我要评论(0

C语言面试经常会考如下一道题,哪里有错误:

#include <stdio.h> 
 
int main() 
{
 char string[100] = {'\0'}; 
 gets(string); 
 
 printf("输入的字符串是:%s \n", string); 
 
 return 0; 
} 

这段C程序可能有问题,问题就在于函数gets()的使用。

gets从标准输入设备读字符串函数,可以无限读取,不会判断上限,以回车结束读取。所以如果输入的字符串超过100个,它也不会做检测,此时就会发生溢出。

可以使用fgets函数来从文件中读取字符串。fgtes函数原型是

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

一般的教材都会对这个函数的用法作出解释,这里就不在详述了,以下文字摘用百度百科的解释:百度百科对fgets的解释

从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。

猜你喜欢

用户评论

Binance交易所下载安卓版

应用名:Array

类 型:金融理财

等 级:

交流群:玩家交流群

手机扫码下载安卓版下载

关于我们|意见反馈|联系我们|法律声明|广告服务

Copyright 2020-2030 www.91ruanzhu.com 【软猪手游网】版权所有渝ICP备2022009109号

声明:所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告 技术支持:软猪网