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),因为它会把换行符也读进去
分享到:
相关推荐
根据给定的信息,我们可以深入探讨`fgets`与`fputs`这两个C语言中用于...同时,也介绍了一些其他相关的文件操作函数,如`fclose`、`_fcloseall`、`fread`和`fwrite`等,帮助进一步理解和掌握C语言中的文件操作机制。
理解fgets函数的使用方法可以通过以下三个方面: 1. 如果读取的一行字符数`len`大于`bufsize-1`,则`buf[bufsize-1] = '0'`,文件句柄指向第`bufsize`的位置。 2. 如果读取的一行字符数`len`等于`bufsize-1`,则`...
通过深入研究和实践,开发者能够更好地理解和运用这些函数,提升编程技能。同时,理解函数的工作原理和限制也是避免程序错误的关键。在使用时,还需注意内存管理、错误处理以及函数调用的效率问题。
在C语言中,`fgets()` 是一个非常重要的文件处理函数,用于从文件或者标准输入(stdin)...在`fgets.c`和`fgets.exe`文件中,你可以看到该函数的实现和一个运行示例,这对于学习和理解`fgets()`的内部机制非常有帮助。
5. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fputs`读写字符串,`fprintf`和`fscanf`进行格式化文件输入输出。熟悉这些函数能让你熟练地进行文件操作。 6. ...
这份资料不仅涵盖了标准的Unix、POSIX以及ANSI C的函数原型,而且还提供了函数的参数类型、返回值以及相关的头文件信息,这对于理解和使用这些函数至关重要。 ### 重要知识点解析 #### 函数原型的重要性 在程序...
C语言是一种底层编程语言,它的强大在于其丰富的函数库,这些函数构成了C语言的...对于初学者来说,理解并熟练运用这些基本函数是学习C语言的关键步骤。通过不断的实践和学习,你可以逐步构建起强大的C语言编程能力。
4. **文件操作函数**:`<stdio.h>`头文件中的`fopen`、`fclose`、`fread`、`fwrite`、`fgets`、`fprintf`等函数,用于文件的打开、关闭、读写等操作,是处理数据持久化的必备知识。 5. **字符串处理**:除了前面...
- `puts` 和 `gets`:这两个函数分别用于输出字符串和读取字符串,但`gets`由于存在缓冲区溢出的风险,现已不推荐使用,通常建议使用`sprintf`或`fgets`代替。 2. 字符串处理函数: - `strlen`:计算字符串的长度...
在学习C语言函数时,理解每个函数的原型、参数和返回值至关重要。例如,`printf()`函数的原型是`int printf(const char *format, ...)`,它接受一个格式字符串和其他可变参数,返回输出的字符数。 总的来说,...
### 回调函数详解 #### 一、回调函数的基本概念 在计算机编程中,回调函数是一种特殊的函数,它被作为参数...通过理解和掌握回调函数的工作原理及其应用场景,开发者可以更高效地解决问题并构建出高质量的软件产品。
理解和熟练使用这些函数是成为一名优秀的C程序员的关键。通过深入学习和实践,你可以更好地掌握C语言的精髓,解决各种复杂问题。在实际编程过程中,参考"C函数大全"可以提高开发效率,确保代码的正确性和效率。
5. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fprintf`读写文本数据,`feof`检查文件是否结束,`ferror`检测文件错误。 6. 其他常用函数:`exit`终止程序执行...
本手册——"C语言常用函数手册",是C程序员的重要参考资料,涵盖了C语言中广泛使用的函数,帮助开发者快速查询和理解函数的用途、参数和返回值。 1. **标准库函数**: - **输入/输出函数**:如`printf`用于格式化...
C函数库,也被称为C标准库,是C编程语言的核心组成部分,它提供了大量的函数供程序员在编写C程序时使用。...同时,理解每个函数的作用、参数和返回值,以及正确处理可能的错误情况,都是使用C函数库的关键。
对于初学者来说,理解和掌握这些函数的用法至关重要,因为它们能够帮助你有效地读取、写入、处理和管理数据。通过实际操作和编写代码,你可以进一步加深对这些函数的理解,从而提高编程技能。在压缩包中的"C语言...
通过理解和应用这些原理,C语言程序员可以创建自己的函数库,以模仿BASIC的风格和功能,同时充分利用C语言的灵活性和效率。文件"www.pudn.com.txt"和"v3027_basic2c"可能包含了具体的代码示例和进一步的解释,供学习...
C语言函数大全是一个涵盖...同时,理解和掌握如何正确使用这些函数,对于提升编程能力,解决实际问题,以及理解底层机制都至关重要。因此,“C语言函数大全”不仅是学习C语言的宝贵资源,也是开发过程中的得力助手。
6. 文件操作函数:`fopen`打开文件,`fclose`关闭文件,`fread`和`fwrite`读写二进制数据,`fgets`和`fputs`处理文本数据,`fprintf`和`fscanf`则提供了格式化的文件读写。理解和掌握这些函数对于读写磁盘上的数据至...