您的位置:首页 > 编程语言 > C语言/C++

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)输入完成后,不会增加额外的特殊字符,如换行符等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: