欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

C语言的fgets 与 gets

发布时间:2023/12/10 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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

总结

以上是生活随笔为你收集整理的C语言的fgets 与 gets的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。