文件代表一系列的字节。函数 fopen()将一个文件和一个流关联起来,并初始化一个类型为 FILE 的对象,该对象包含了控制该流的所有信息。这些信息包括指向缓冲区的指针;文件位置指示器,它指定了获取文件的位置;以及指示错误和文件结尾情况的标志。
每个用于打开文件的函数(也就是 fopen()、freopen()和 tmpfile())都会返回一个指向 FILE 对象的指针,该 FILE 对象包含与被打开文件相关联的流。一旦打开了文件,就可以调用函数传递数据并对流进行处理。这些函数都把指向 FILE 对象的指针(通常称为 FILE 指针)作为它们的参数之一。FILE 指针指定了正在进行操作的流。
I/O 链接库也包含了用于操作文件系统的函数,这些函数把文件名作为它们的参数之一。使用这些函数不需要事先打开文件。它们包括:
(1) 函数 remove()删除一个文件(或者空目录)。该字符串参数是文件名。如果文件具有多个名称,那么 remove()只会删除所指定的名称,而非删除文件本身。该文件数据还可以通过别的方式来获取,但是不能通过已删除的文件名访问。
(2) 函数 rename()改变一个文件(或目录)的名称。该函数的两个字符串参数依次为旧文件名和新文件名。函数 remove()和 rename()的返回值类型都是 int,成功时都会返回 0,失败时都会返回非 0值,下面的语句将 songs.dat 重命名