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

来源:互联网 发布:淘宝上卖零食怎么样 编辑:程序博客网 时间:2024/06/11 13:49
  • 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。


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


原文链接:C语言中常用文件读写命令总结

0 0
原创粉丝点击