C语言中常用文件读写命令总结

朱雀 2022-05-21 06:52 275阅读 0赞
  • fopen

函数原型:FILE * fopen(const char * path,const char * mode);

mode有下列几种形态字符串:

r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

上述的形态字符串都可以再加一个b字符,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。

  • fgetc fputc

函数原型:int fgetc(FILE * fp);
函数说明:fgetc()从参数fp所指的文件中读取一个字符,并把它作为一个字符返回。若读到文件尾或出现错误时,它就返回EOF,你必须通过ferror或feof来区分这两种情况。

函数原型:int fputc (char ch, File *fp)

函数说明:将字符ch写到文件指针fp所指向的文件的当前写指针的位置。在正常调用情况下,函数返回读取字符的ASCII码值,出错时,返回EOF(-1)。

  • fscanf fprintf

函数原型:int fscanf(FILE *stream, char *format,[argument…]);
函数说明:从一个流中执行格式化输入,fscanf遇到空格和换行时结束。与scanf基本相同。

函数原型:int fprintf( FILE *stream, const char *format, … );

函数说明:fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.

  • fgets fputs

函数原型:char *fgets(char *s, int n, FILE *stream);
函数说明:从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。

函数原型:int fputs(char *str, FILE *fp);

函数说明:向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)。成功写入一个字符串后,文件的位置指针会自动后移,函数返回值为0;否则返回EOF。

  • fread fwrite

函数原型:size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
函数说明:从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.如果调用成功则实际读取size*count字节

函数原型:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

函数说明:向文件写入一个数据块,参数说明同fread。

这两个函数一般用来操作二进制格式的文件。

发表评论

表情:
评论列表 (有 0 条评论,275人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言文件操作

    文件的打开函数fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文

    相关 C语言文件操作

    将一个磁盘文件中的信息复制到另一个磁盘文件中。 分析:从file1.dat文件中逐个字符读入,然后逐个输出到file2.dat中 include<stdio.h>

    相关 C语言——文件

    在济宁实训期间,有几个项目用到了文件读写,之前从来没接触过,反正也有时间,不如自学一下,从网上找了一篇比较好的文档。http://www.360doc.com/content/