char *fgets(char *str, int n, FILE *stream)
优质
小牛编辑
127浏览
2023-12-01
描述 (Description)
C库函数char *fgets(char *str, int n, FILE *stream)从指定的流中读取一行并将其存储到str指向的str 。 当读取(n-1)字符,读取换行符或达到文件结尾时(以先到者为准(n-1)它会停止。
声明 (Declaration)
以下是fgets()函数的声明。
char *fgets(char *str, int n, FILE *stream)
参数 (Parameters)
str - 这是指向存储字符串读取的字符数组的指针。
n - 这是要读取的最大字符数(包括最终的空字符)。 通常,使用以str传递的数组的长度。
stream - 这是指向FILE对象的指针,该对象标识从中读取字符的流。
返回值 (Return Value)
成功时,该函数返回相同的str参数。 如果遇到文件结尾且未读取任何字符,则str的内容保持不变,并返回空指针。
如果发生错误,则返回空指针。
例子 (Example)
以下示例显示了fgets()函数的用法。
#include <stdio.h>
int main () {
FILE *fp;
char str[60];
/* opening file for reading */
fp = fopen("file.txt" , "r");
if(fp == NULL) {
perror("Error opening file");
return(-1);
}
if( fgets (str, 60, fp)!=NULL ) {
/* writing content to stdout */
puts(str);
}
fclose(fp);
return(0);
}
我们假设,我们有一个文本文件file.txt ,它具有以下内容。 该文件将用作示例程序的输入 -
We are in 2012
现在,让我们编译并运行上面的程序,它将产生以下结果 -
We are in 2012