C语言中文件操作函数
2012-10-19 15:05
351 查看
1、fopen
FILE *pfile;
pfile=fopen(文件名,文件使用方式);
通过调用fopen函数,指定文件名和文件的使用方式,我们就可以获得文件结构指针了,接下来就可以用这个文件结构指针进行文件的读写操作了。如果文件打开失败,fopen返回NULL。
文件名可以随便指定一个字符串或者指定具体的路径,如果是任意的字符串则处理当前程序运行目录下的文件,当然这个任意字符串是有限制的,那就是文件名得遵循系统的文件命名规定(例如,文件名长度),指定路径就是指定一个磁盘上具体位置处得文件来进行操作,注意这里是两个\。
pfile = fopen(“test.txt”,”w”); //打开当前目录下的文件
pfile = fopen(“F:\\Program\\filetest\\t.txt”,”w”); //打开指定路径出的文件
2、fclose(文件结构指针)
这个函数再简单不过了,其参数就是fopen函数的返回值。在平时的使用中,记住fopen函数一定要和fclose函数配对使用。
3、fgets函数
原型是char *fgets(char *s, int n, FILE *stream);
参数:
*s: 字符型指针,指向将存储到的数据地址。
n: 整型数据,将从流中读取 n - 1 个字符。
*stream: 指针数据,欲读取的流。
功能:
从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。
例:
如果一个文件的当前位置的文本如下
Love ,I Have
但是,如果用
fgets(str1,4,file1);
则执行后str1="Lov",读取了4-1=3个字符,
while(fgets(line,BUF,fp)!=NULL)你理解的差不多,这个循环,每次从fp中读取最大长度为BUF的数据到line中去。在读取过程中,发生以下三种情况时,读取停止:1. 发现换行符2. 发现文件终结符EOF3. 发生错误而这个函数在什么情况下会返回NULL呢,就是上述的第2和第3种情况发生时,会返回NULL,此时循环退出。
4、fgets函数
fgets (buf, size, fp);
其行为方式如下:
(1)遇到换行或文件结束EOF则返回。
(2)按行读取。
(3)每一行结束处的换行字符‘\n’也算该行字符。
(4)对于大小为size的buf,最多只读取size-1个字符。
(5)自动地把buf中最后一个字符(通常是换行符)的后面一个字节填充零结束符('\0')。
因此如果想把buf中的换行符去掉,可以这样:buf[strlen(buf)-1] = '\0';当前前提是buf足够大,可以容纳完整的一行(包括最后的那个换行符)。
5、fputs (str, fp)
(1)把str中零结束符之前的全部文字输入到文件中。
(2)输入完成后,不会增加额外的特殊字符,如换行符等。
FILE *pfile;
pfile=fopen(文件名,文件使用方式);
通过调用fopen函数,指定文件名和文件的使用方式,我们就可以获得文件结构指针了,接下来就可以用这个文件结构指针进行文件的读写操作了。如果文件打开失败,fopen返回NULL。
文件名可以随便指定一个字符串或者指定具体的路径,如果是任意的字符串则处理当前程序运行目录下的文件,当然这个任意字符串是有限制的,那就是文件名得遵循系统的文件命名规定(例如,文件名长度),指定路径就是指定一个磁盘上具体位置处得文件来进行操作,注意这里是两个\。
pfile = fopen(“test.txt”,”w”); //打开当前目录下的文件
pfile = fopen(“F:\\Program\\filetest\\t.txt”,”w”); //打开指定路径出的文件
2、fclose(文件结构指针)
这个函数再简单不过了,其参数就是fopen函数的返回值。在平时的使用中,记住fopen函数一定要和fclose函数配对使用。
3、fgets函数
原型是char *fgets(char *s, int n, FILE *stream);
参数:
*s: 字符型指针,指向将存储到的数据地址。
n: 整型数据,将从流中读取 n - 1 个字符。
*stream: 指针数据,欲读取的流。
功能:
从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。
例:
如果一个文件的当前位置的文本如下
Love ,I Have
但是,如果用
fgets(str1,4,file1);
则执行后str1="Lov",读取了4-1=3个字符,
while(fgets(line,BUF,fp)!=NULL)你理解的差不多,这个循环,每次从fp中读取最大长度为BUF的数据到line中去。在读取过程中,发生以下三种情况时,读取停止:1. 发现换行符2. 发现文件终结符EOF3. 发生错误而这个函数在什么情况下会返回NULL呢,就是上述的第2和第3种情况发生时,会返回NULL,此时循环退出。
4、fgets函数
fgets (buf, size, fp);
其行为方式如下:
(1)遇到换行或文件结束EOF则返回。
(2)按行读取。
(3)每一行结束处的换行字符‘\n’也算该行字符。
(4)对于大小为size的buf,最多只读取size-1个字符。
(5)自动地把buf中最后一个字符(通常是换行符)的后面一个字节填充零结束符('\0')。
因此如果想把buf中的换行符去掉,可以这样:buf[strlen(buf)-1] = '\0';当前前提是buf足够大,可以容纳完整的一行(包括最后的那个换行符)。
5、fputs (str, fp)
(1)把str中零结束符之前的全部文字输入到文件中。
(2)输入完成后,不会增加额外的特殊字符,如换行符等。
相关文章推荐
- C语言文件操作函数大全(超详细)
- C语言文件操作标准库函数与Linux系统函数效率比较
- C语言文件操作函数小结
- [C语言] 文件操作,对二进制文件追加二进制数据与补零的两个函数;
- C语言文件操作函数详解
- C语言文件操作函数大全
- C语言 常见的文件操作函数 笔记
- C语言文件操作函数(ANSI)详解(一)
- C语言文件操作函数大全
- C语言文件操作函数大全(超详细)
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- C语言文件操作函数大全
- C语言文件操作函数大全(超详细)
- C语言 文件操作5--文件的常用函数
- C语言中操作utmp文件的相关函数用法
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- C语言--文件操作函数
- C语言文件操作函数大全(超详细)
- C语言文件操作函数大全
- C语言文件操作函数(ANSI)详解(一)