`
ljmdbc7a
  • 浏览: 51879 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

gets和fgets

阅读更多

gets(char *buffer);

gets读取标准输入,存储到buffer中,直到遇到换行或者EOF才会停止读取,所以需要保证buffer足够大,否则超出buffer的内容会不可控的覆盖其他变量。如果遇到换行符,换行符会被丢弃,然后在末尾添加'\0'字符。

 

fgets(char *buffer, int size, FILE* in);  推荐使用

fgets从文件流中读取内容到buffer中,遇到换行、EOF或者读取长度到size-1时结束本次读取,并在最后加上‘\0’,文件指针会移到下一行或者第size个字符。也就是说如果一行的长度超过size,第一次读取size-1个字符,第二次接着读取余下的字符。

分享到:
评论

相关推荐

    fgets( )和fputs( )(建议用其完全代替gets和puts函数)

    很早之前,本人开始接触C语言的时候整理的笔记,包含了函数fgets( )和fputs( )的总结和使用心得,以及与对应的无f前缀函数的区别分析,现在分享给大家,仅代表个人观点,由于能力有限,难免有纰漏,仅供学习交流.

    C语言中输入函数(scanf()、fgets()和gets())的区别详解

    大家都知道在C语言中,有三种主要的输入函数:scanf(),fgets()以及gets()。他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输入多个数据域。 scanf函数是一个标准...

    标准I/O库函数:fgets与gets比较分析

    函数名:fgets  功能:从流中读取一个字符串  用法:char *fgets(char *string,int n,FILE *stream);  形参注释:  *string:结果数据的首地址;n-1:读入数据块的长度,其默认值为1k,即1024;stream文件...

    C语言中getchar, gets, 和 scanf 三种不同函数的区别

    getchar和gets和scanf区别 getchar 用于单个字符,gets(不推荐)用于字符串,而 scanf 用于各种不同的数据类型,通常需要使用格式字符串来...在现代C编程中,推荐使用更安全的函数来代替 gets,如 fgets 和 sscanf。

    详解C语言gets()函数与它的替代者fgets()函数

    主要介绍了详解C语言gets()函数与它的替代者fgets()函数的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    Linux系统下C语言gets函数出现警告问题的解决方法

    最近在Linux下编译C语言,用到gets这个函数,代码如下: #include #include #include void main(){ char s[100]; // 存放输入的字符串 int i, j, n; printf(输入字符串:); gets(s); n=strlen(s); for(i=0,j=n-1...

    EDA/PLD中的标准I/O库函数:fgets与gets比较分析

    函数名:fgets  功能:从流中读取一个字符串  用法:char *fgets(char *string,int n,FILE *stream);  形参注释:  *string:结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream...

    C语言的getc()函数和gets()函数的使用对比

    C语言getc()函数:从流中读取字符 头文件: #include 函数getc()用于从流中取字符,其原型如下: int getc(FILE *stream); ...【参数】参数*steam为要从中读取字符的文件流。...【返回值】该函数执行成功后,将返回...

    删除给定字符串中的数字字符,并输出删除数字字符后的字符串

    需要注意的是,gets函数在最新的C标准中已经被弃用,建议使用fgets函数代替。同时,需要限制输入的字符串长度,以避免缓冲区溢出等安全问题。可以考虑使用fread函数来读取字符串,或者使用fgets函数读取一行字符串后...

    12个关于C语言的有趣问答

    本文汇总了12个关于C语言的问答,对于加深对C语言...所以这里我们一般用 fgets() 方法将来的更好。 #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffe

    C语言讲义.doc

    8.7.1 gets 41 8.7.2 fgets函数 41 8.7.3 puts函数 42 8.7.4 fputs函数 42 8.7.5 strlen,字符串长度 42 8.7.6 strcat,字符串追加 42 8.7.7 strncat,字符串有限追加 43 8.7.8 strcmp,字符串比较 43 8.7.9 strncmp...

    iozone.txt

    在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策。先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白花这份闲...

    Linux程序设计 第4版.haozip01

    3.5.9 fgets和gets函数 94 3.6 格式化输入和输出 94 3.6.1 printf、fprintf和sprintf函数 94 3.6.2 scanf、fscanf和sscanf函数 96 3.6.3 其他流函数 98 3.6.4 文件流错误 99 3.6.5 文件流和文件描述符 99 3.7...

    Linux程序设计 第4版.haozip02

    3.5.9 fgets和gets函数 94 3.6 格式化输入和输出 94 3.6.1 printf、fprintf和sprintf函数 94 3.6.2 scanf、fscanf和sscanf函数 96 3.6.3 其他流函数 98 3.6.4 文件流错误 99 3.6.5 文件流和文件描述符 99 3.7...

    你必须知道的495个C语言问题

    第1章 声明和初始化 基本类型 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的...

    《你必须知道的495个C语言问题》

    1.7 怎样声明和定义全局变量和函数最好? 4 1.8 如何在C中实现不透明(抽象)数据类型? 5 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态...

Global site tag (gtag.js) - Google Analytics