欢迎访问宙启技术站
智能推送

文件操作函数 – 读写文件,并获取文件信息

发布时间:2023-05-30 21:28:15

在计算机中,文件操作是计算机程序和用户交互的重要部分。通常,程序需要从文件中读取数据并将结果写回文件中。为此,操作系统提供了各种文件操作函数来读取、写入和管理文件。本文将介绍如何使用文件操作函数来读取和写入文件,以及如何获取文件的信息。

读取文件

在使用文件操作函数来读取文件之前,需要先打开文件。在C语言中,可以使用fopen()函数来打开文件。该函数有两个参数, 个参数是文件名,第二个参数是打开文件的模式。常见的模式有“r”(只读模式)、“w”(只写模式)和“a”(追加模式)。以下是示例代码:

#include <stdio.h>
int main()
{
   FILE *fp;
   char c;

   fp = fopen("test.txt", "r");
   while (1)
   {
      c = fgetc(fp);
      if (c == EOF)
         break;
      printf("%c", c);
   }
   fclose(fp);
   return 0;
}

首先该代码打开了名为“test.txt”的只读文件,然后从该文件中读取每个字符并将其输出到控制台。最后,关闭文件并退出程序。

写入文件

与读取文件一样,写入文件也需要先打开文件。在C语言中,可以使用fopen()函数来打开文件,并使用fputc()函数在文件中写入数据。以下是示例代码:

#include <stdio.h>
int main()
{
   FILE *fp;
   char c = 'H';

   fp = fopen("test.txt", "w");
   fputc(c, fp);
   fclose(fp);
   return 0;
}

首先该代码创建一个指向名为“test.txt”的只写文件的文件指针。然后,将字符“H”写入该文件,并关闭文件。

获取文件信息

除了读取和写入文件外,还可以使用文件操作函数来获取文件的各种信息。以下是一些文件操作函数和它们的作用:

- fopen() - 打开文件并返回一个文件指针

- fclose() - 关闭文件

- feof() - 检查文件指针是否已到达文件的末尾

- fopen_s() - 打开文件并返回一个文件指针(安全版本)

- fread() - 从文件中读取指定数量的数据

- fwrite() - 将指定数量的数据写入文件中

- fseek() - 在文件中定位到指定位置

- ftell() - 返回文件指针的当前位置

- remove() - 删除指定的文件

- rename() - 将文件重命名

以下是一个示例程序,可以获取文件的大小、创建日期和修改日期:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>

int main()
{
   struct stat sb;
   time_t createTime;
   time_t modifyTime;

   if (stat("test.txt", &sb) == -1)
   {
      perror("stat");
      exit(EXIT_FAILURE);
   }

   printf("File size:                %lld bytes
", (long long) sb.st_size);

   createTime = sb.st_ctime;
   printf("File creation time:       %s", ctime(&createTime));
   
   modifyTime = sb.st_mtime;
   printf("File modification time:   %s", ctime(&modifyTime));

   return 0;
}

该程序使用stat()函数获取“test.txt”文件的信息,并使用printf()函数将结果输出到控制台。

结论

本文介绍了如何使用文件操作函数来读取、写入和管理文件,以及如何获取文件的信息。文件操作是计算机编程和用户交互的重要部分。熟练使用文件操作函数可以帮助程序员更有效地管理和操作文件。