`
kenby
  • 浏览: 723799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

fgets函数的理解

    博客分类:
  • c
 
阅读更多

fget函数的原型如下:char *fgets (char *buf, int n, FILE *fp)


功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:

1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,

注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。

 

2.每次调用,fgets都会把缓冲区的最后一个字符设为 \0,这意味着最后一个字符不能用来存放需要的数据,

   所以如果有一行,含有 LINE_SIZE 个字符(包括换行符),要想把这行读入缓冲区,请把参数 n 设为 LINE_SIZE+1

  多留一个位置存储 \0

 

3. 由结论1可推出:给定参数n,fgets只能读取n-1个字符(包括换行符),如果有一行超过n-1个字符,

   那么fgets返回一个不完整的行,也就是说,只读取该行的前n-1个字符,但是,缓冲区总是以 \0 字符结尾,

   对fgets的下一次调用会继续读该行。


用法举例:
读取一个文件并打印之

FILE* fp = fopen(argv[1], "r");
char buf[200];
while(fgets(buf, 200, fp) != NULL) {     /* 每行的字符不能超过199(包括换行符)才能正常工作 */
    printf("%s",buf);
}
 

注意打印不用使用 printf( "%s\n" ,buf),因为它会把换行符也读进去

 

分享到:
评论

相关推荐

    c语言fgets fputs 读写文件

    根据给定的信息,我们可以深入探讨`fgets`与`fputs`这两个C语言中用于...同时,也介绍了一些其他相关的文件操作函数,如`fclose`、`_fcloseall`、`fread`和`fwrite`等,帮助进一步理解和掌握C语言中的文件操作机制。

    C语言文件操作中 fgets与fputs 函数详解

    理解fgets函数的使用方法可以通过以下三个方面: 1. 如果读取的一行字符数`len`大于`bufsize-1`,则`buf[bufsize-1] = '0'`,文件句柄指向第`bufsize`的位置。 2. 如果读取的一行字符数`len`等于`bufsize-1`,则`...

    c/c++函数大全(标准函数)

    通过深入研究和实践,开发者能够更好地理解和运用这些函数,提升编程技能。同时,理解函数的工作原理和限制也是避免程序错误的关键。在使用时,还需注意内存管理、错误处理以及函数调用的效率问题。

    fgets_fgets_

    在C语言中,`fgets()` 是一个非常重要的文件处理函数,用于从文件或者标准输入(stdin)...在`fgets.c`和`fgets.exe`文件中,你可以看到该函数的实现和一个运行示例,这对于学习和理解`fgets()`的内部机制非常有帮助。

    Linux 常用C函数(中文版)

    5. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fputs`读写字符串,`fprintf`和`fscanf`进行格式化文件输入输出。熟悉这些函数能让你熟练地进行文件操作。 6. ...

    unix函数原型

    这份资料不仅涵盖了标准的Unix、POSIX以及ANSI C的函数原型,而且还提供了函数的参数类型、返回值以及相关的头文件信息,这对于理解和使用这些函数至关重要。 ### 重要知识点解析 #### 函数原型的重要性 在程序...

    C函数一览 C函数一览 C函数一览

    C语言是一种底层编程语言,它的强大在于其丰富的函数库,这些函数构成了C语言的...对于初学者来说,理解并熟练运用这些基本函数是学习C语言的关键步骤。通过不断的实践和学习,你可以逐步构建起强大的C语言编程能力。

    c语言常用函数手册,集合了几百个常用函数

    4. **文件操作函数**:`<stdio.h>`头文件中的`fopen`、`fclose`、`fread`、`fwrite`、`fgets`、`fprintf`等函数,用于文件的打开、关闭、读写等操作,是处理数据持久化的必备知识。 5. **字符串处理**:除了前面...

    c语言函数库(C函数大全)

    - `puts` 和 `gets`:这两个函数分别用于输出字符串和读取字符串,但`gets`由于存在缓冲区溢出的风险,现已不推荐使用,通常建议使用`sprintf`或`fgets`代替。 2. 字符串处理函数: - `strlen`:计算字符串的长度...

    C语言函数大全,教你怎样使用这些函数,很容易学的哦,很实用哦

    在学习C语言函数时,理解每个函数的原型、参数和返回值至关重要。例如,`printf()`函数的原型是`int printf(const char *format, ...)`,它接受一个格式字符串和其他可变参数,返回输出的字符数。 总的来说,...

    回调函数讲解

    ### 回调函数详解 #### 一、回调函数的基本概念 在计算机编程中,回调函数是一种特殊的函数,它被作为参数...通过理解和掌握回调函数的工作原理及其应用场景,开发者可以更高效地解决问题并构建出高质量的软件产品。

    c函数大全包含了所有c语言函数

    理解和熟练使用这些函数是成为一名优秀的C程序员的关键。通过深入学习和实践,你可以更好地掌握C语言的精髓,解决各种复杂问题。在实际编程过程中,参考"C函数大全"可以提高开发效率,确保代码的正确性和效率。

    C语言函数手册 exe文件

    5. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fprintf`读写文本数据,`feof`检查文件是否结束,`ferror`检测文件错误。 6. 其他常用函数:`exit`终止程序执行...

    C语言常用函数手册C函数速查

    本手册——"C语言常用函数手册",是C程序员的重要参考资料,涵盖了C语言中广泛使用的函数,帮助开发者快速查询和理解函数的用途、参数和返回值。 1. **标准库函数**: - **输入/输出函数**:如`printf`用于格式化...

    c函数库速查 c函数库速查

    C函数库,也被称为C标准库,是C编程语言的核心组成部分,它提供了大量的函数供程序员在编写C程序时使用。...同时,理解每个函数的作用、参数和返回值,以及正确处理可能的错误情况,都是使用C函数库的关键。

    C语言函数-TXT文档-常用函数

    对于初学者来说,理解和掌握这些函数的用法至关重要,因为它们能够帮助你有效地读取、写入、处理和管理数据。通过实际操作和编写代码,你可以进一步加深对这些函数的理解,从而提高编程技能。在压缩包中的"C语言...

    模仿basic函数的某些c语言函数.rar_C 函数_C函数_c语言函数

    通过理解和应用这些原理,C语言程序员可以创建自己的函数库,以模仿BASIC的风格和功能,同时充分利用C语言的灵活性和效率。文件"www.pudn.com.txt"和"v3027_basic2c"可能包含了具体的代码示例和进一步的解释,供学习...

    c语言函数大全

    C语言函数大全是一个涵盖...同时,理解和掌握如何正确使用这些函数,对于提升编程能力,解决实际问题,以及理解底层机制都至关重要。因此,“C语言函数大全”不仅是学习C语言的宝贵资源,也是开发过程中的得力助手。

    C语言常用函数手册.rar

    6. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fputs`处理文本数据,`fprintf`和`fscanf`则提供了格式化的文件读写。理解和掌握这些函数对于读写磁盘上的数据至...

Global site tag (gtag.js) - Google Analytics