文件I/O函数:fgets()函数
fgets()函数
描述:
C 库函数 char *fgets(char *str, int n, FILE *stream)
从指定的流 stream
读取一行,并把它存储在 str
所指向的字符串内。当读取 (n-1)
个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
声明:
char *fgets(char *str, int n, FILE *stream)
参数:
str
– 这是指向一个字符数组的指针,该数组存储了要读取的字符串。n
– 这是要读取的最大字符数(包括最后的空字符)。通常是使用以str
传递的数组长度。stream
– 这是指向FILE
对象的指针,该FILE
对象标识了要从中读取字符的流。
返回值:
如果成功,该函数返回相同的 str
参数。如果到达文件末尾或者没有读取到任何字符,str
的内容保持不变,并返回一个空指针。
如果发生错误,返回一个空指针。
案例:
#include <stdio.h>int main()
{FILE *fp;char str[60];/* 打开用于读取的文件 */fp = fopen("file.txt" , "r");if(fp == NULL) {perror("打开文件时发生错误");return(-1);}if( fgets (str, 60, fp)!=NULL ) {/* 向标准输出 stdout 写入内容 */puts(str);}fclose(fp);return(0);
}
假设我们有一个文本文件 file.txt
,它的内容如下。文件将作为实例中的输入:
We are in 2014
让我们编译并运行上面的程序,这将产生以下结果:
We are in 2014
fgets()
函数有三个参数:
- 第一个参数跟
gets()
函数一样,也是表示存储输入位置的地址(char *
类型) - 第二个参数是一个整数,表述待输入字符串的大小
- 第三个参数是一个文件指针,指定待读取的文件
下面是一个调用该函数的例子:
fgets(buf,STLEN,fp)
这里,buf
是char
类型数组的名称,STLEN
是字符串的大小,fp
是指向FILE
的指针。
fgets()
函数读取输入直到第一个换行符的后面,或读到文件结尾,或者读取STLEN-1
个字符,然后在其末尾添加一个空字符使之成为一个字符串。字符串的大小是其字符数加上一个空字符。
如果fgets()
函数在遇到字符上限前就已经读完一行,它会把表示行结尾的换行符放在空字符前面。fgets()
函数在遇到EOF
时将返回NULL
值,可以利用这一机制检查是否到达文件结尾,如果未遇到文件结尾则返回之前传给它的第一个参数的地址。
如果从键盘获取输入则fp==stdin
.
fputs()函数用法详解
文件I/O函数:fgets()函数
fgets()函数
描述:
C 库函数 char *fgets(char *str, int n, FILE *stream)
从指定的流 stream
读取一行,并把它存储在 str
所指向的字符串内。当读取 (n-1)
个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
声明:
char *fgets(char *str, int n, FILE *stream)
参数:
str
– 这是指向一个字符数组的指针,该数组存储了要读取的字符串。n
– 这是要读取的最大字符数(包括最后的空字符)。通常是使用以str
传递的数组长度。stream
– 这是指向FILE
对象的指针,该FILE
对象标识了要从中读取字符的流。
返回值:
如果成功,该函数返回相同的 str
参数。如果到达文件末尾或者没有读取到任何字符,str
的内容保持不变,并返回一个空指针。
如果发生错误,返回一个空指针。
案例:
#include <stdio.h>int main()
{FILE *fp;char str[60];/* 打开用于读取的文件 */fp = fopen("file.txt" , "r");if(fp == NULL) {perror("打开文件时发生错误");return(-1);}if( fgets (str, 60, fp)!=NULL ) {/* 向标准输出 stdout 写入内容 */puts(str);}fclose(fp);return(0);
}
假设我们有一个文本文件 file.txt
,它的内容如下。文件将作为实例中的输入:
We are in 2014
让我们编译并运行上面的程序,这将产生以下结果:
We are in 2014
fgets()
函数有三个参数:
- 第一个参数跟
gets()
函数一样,也是表示存储输入位置的地址(char *
类型) - 第二个参数是一个整数,表述待输入字符串的大小
- 第三个参数是一个文件指针,指定待读取的文件
下面是一个调用该函数的例子:
fgets(buf,STLEN,fp)
这里,buf
是char
类型数组的名称,STLEN
是字符串的大小,fp
是指向FILE
的指针。
fgets()
函数读取输入直到第一个换行符的后面,或读到文件结尾,或者读取STLEN-1
个字符,然后在其末尾添加一个空字符使之成为一个字符串。字符串的大小是其字符数加上一个空字符。
如果fgets()
函数在遇到字符上限前就已经读完一行,它会把表示行结尾的换行符放在空字符前面。fgets()
函数在遇到EOF
时将返回NULL
值,可以利用这一机制检查是否到达文件结尾,如果未遇到文件结尾则返回之前传给它的第一个参数的地址。
如果从键盘获取输入则fp==stdin
.
fputs()函数用法详解
发布评论