C语言的fgets 与 gets

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

今天在翻《C语言参考手册》查看文件操作的相关函数时,看到fgets() 与 gets()的一些“微妙”的地方

另外《C语言参考手册》是C程序员身边的一本非常好的“词典”,刚开始学习C的时候,或许用不上这书(只因为初学者对里面的内容看得不是很明白)但是觉得自己学到有一定程度的时候,这本书绝对是一本十分好的工具书!

题外话就到此为止,入正题:

这篇文章主要简单地说说 fgets() 和 gets()

首先看看函数原型:

char* fgets(char *s, int n, FILE *stream);char* gets(char *s);

一般使用fgets函数,都是读取文件当中的n-1个字符到s中,其实,此函数还有一个很好的用处就是从标准输入流中读取字符串,而且不用担心输入的字符个数超出了字符数组的大小而导致溢出的问题!要怎样做呢?如下:

char    str[10];fgets(str, siezof(str), stdin);

而如果使用gets函数的话,就不能保证上述的问题不会出现(输入的字符个数超出了字符数组的大小而导致溢出)  不信你可以运行下面的代码:

char    str[10];gets(str);
当然你得输入10个以上的字符才能看到问题


到这里,fgets()的好处就不用再详细说了。值得注意的是:谨记fgets()只读取n-1个字符所以,fgets()读取到换行符、文件尾或读完n-1个字符便会进行返回


           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6月上开发心得

6月上开发心得 团队开发终于走上正轨,我们最终决定在基于ThinkPHP的opensns框架上继续进行网站的开发,为了增加网站的功能,同时避免将网站做成单纯的门户网站,我们在网站中加入了社交功能,即提供一个实验室与学生的交流…

递归入门 阶乘函数

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!《递归入门》对许多人而言,理解递…

Java-Shiro(三):Shiro与Spring MVC集成

新建Java Daynamic Web项目 导入Spring、SpringMVC依赖包: 导入Spring & Spring MVC包(导入如下所有开发包): Spring AOP依赖扩展包: 配置Spring : 1)修改web.xml导入“#contextLoaderList…

第一个django项目

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!说在前面,这篇文章是为记录下我个…

springcloud20---Config加入eureka

Config server也可以加用户名和密码。Config client通过用户名和密码访问。 Config server也可以做成高可用集群。 Config与eureka配置使用。把Config server注册到eureka。Config client也要注册到eureka。 package com.itmuch.cloud;import org.springframework.boot.SpringA…

字符串右移n位

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!题目:实现字符串右移几位&#x…

mysql中的CURRENT_TIMESTAMP

MySQL的timestamp类型可以使用CURRENT_TIMESTAMP来指定默认值,当记录增、改时,该值会自动取当前时间,如下图所示: 增加或修改记录时,该值自动变化 但是这个跟MySQL的版本及日期的具体类型有关,只有5.6之后的…

C++异常之异常说明

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!为了能够编写适当的catch子句,了…

微信小程序image组件中aspectFill和widthfix模式应用详解

aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 aspectFill同样保持图片的宽高比不会变形。但它让图片…

poj 2255 Tree Recovery 解题报告

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!题目出处题意:输入两组数据&…

个人作业5——软件工程总结

一、请回望开学时的第一次作业,你对于软件工程课程的想象 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标&#xff…

SpringBoot在项目中基本配置设置

1、新增过滤器 (1)配置 WebFilter(filterName "corsFilter") public class CorsFilter extends OncePerRequestFilter {Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain ch…

C符号之逻辑运算符 左移与右移 自增自减

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!本篇文章将总结C中一些比较有趣的符号逻辑运…

年轻的工程师如何月入伍万XD

郑昀:你要跟谁比?关键词:成长,自我管理,自我激励,面试,候选人201806 ——你觉得跟你的 Leader 差在什么地方?——肯定有差距,一个是知识面不如他广,二一个是解…

字符串翻转

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!《递归入门》字符串翻转:将字符串…

Java学习之SpringBoot整合SSM Demo

背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot,提供了快速单机部署调试和注解配置的便利。作为一…

Java别说取余( )运算简单,你真的会吗

一,直击现场下面我来抛出几道题: 说明m是商,n是余数; (1)正数%正数 3%2m…….n 2%3m…….n (2)正数%负数或者负数%正数 -3%2m…….n 3%-2m…….n -2%3m…….n 2%-3m…….n (3)负数%负数 -3%-2m…….n -2%-3…

centos6 5从命令行进入图形界面

一,安装图形界面包组 yum groupinstall “Desktop” -y yum groupinstall “X Window System” -y之所以加 -y 是为了一会安装的时候不用再确认了。不加-y也行。不过一会儿有可能有很多选项需要你确认;二,进入图形界面 startx从图形界面到命令…

decimal这个数据类型的用法,保证你看懂

笔者在网上搜了好久,解释都晦涩难懂。最后通过亲手实践加课本知识得出结论如下: decimal(M,N) M表示:不包括小数点,不包括符号位,所能存数字的总位数(包括小数部分和整数部分) N表示:小数部分…

前端与后端接口的交互案例

一、案例描述1,前端页面提供用户名,密码输入框。 2,通过Ajax发送请求到后端Serlvet。 3,后端Serlvet处理请求,根据输入的用户名和密码返回给前端不同信息前端访问后端接口通过后端提供的的URL二、主要代码1、前端页面&…