4月从零学习C语言(第28天)——文件读写

文件读写

一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。

文件的打开

在C语言中我们可以使用**fopen( )**函数来打开一个文件或者创建一个新的文件,其调用的一般格式为:

文件指针名 = fopen(文件名,文件的使用方式)

其中,“文件指针名”就是前面声明的文件指针变量;“文件名”是被打开的文件的名称;“文件的使用方式”是指文件的类型和操作要求。

例如:

FILE *fp;
fp=fopen("dzx","r");

其含义是在当前目录下打开文件名为dzx的文件,并只允许进行读操作,病逝文件指针变量指向该文件。可见,打开一个文件时,通知给编译系统以下的3个信息:需要打开的文件、文件的使用方式、让哪个指针变量指向被打开的文件。文件的使用方式和含义如下表:

模式 描述
r 打开一个已有的文本文件,允许读取文件。
w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入。
a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。
r+ 打开一个文本文件,允许读写文件。
w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。
a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。

处理的是二进制文件:

读写权限和读写方式可以组合使用,但是必须将读写方式放在读写权限的中间或者尾部(换句话说,不能将读写方式放在读写权限的开头)。例如:

  • 将读写方式放在读写权限的末尾:“rb”、“wt”、“ab”、“r+b”、“w+t”、“a+t”
  • 将读写方式放在读写权限的中间:“rb+”、“wt+”、“ab+”

文件的关闭

C语言用fclose( )函数打开一个文件,其调用的一般格式为:

fclose(文件指针);

例如:

fclose(fp);

关闭文件,即fp不再指向该文件。

若关闭文件成功,函数返回值为0;否则返回值非零。

字符读写函数fgetc()和fputc()

读字符函数fgetc()

fgetc()函数的功能是从指定的文件中读取一个字符。函数调用的一般格式为:

扫描二维码关注公众号,回复: 14630348 查看本文章
字符变量=fgetc(文件指针)

例如:

ch=fgetc(fp);

其中,fp为文件型指针变量,ch是字符变量,表示fgetc()函数将从fp所指向的文件中读取一个字符并赋值给字符变量ch。如果在执行fgetc()函数时遇到文件结束符,函数返回一个文件结束符标志EOF(-1)

写字符函数fputc()

fputc( )函数的功能是从指定的文件中读取一个字符。函数调用的一般格式为:

fputc( 字符,文件指针 );

其中,“字符”可以是字符变量或字符变量

例如:

ch=fgetc('a',fp);

其中,fp为文件型指针变量,'a'是字符变量,表示fputc()函数将字符'a'写入到fp所指向的文件中。如果在执行fputc()函数成功将返回写入的字符,否则函数将返回EOF(-1)

猜你喜欢

转载自blog.csdn.net/qq_46133833/article/details/124505172