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

使用fopen函数打开和读取文件的示例

发布时间:2023-06-23 23:49:04

fopen函数是C语言中常用的文件操作函数,其功能是打开文件并返回一个指向该文件的文件指针。通过使用这个指针,我们可以对文件进行读取、写入、关闭等操作。

下面是使用fopen函数打开和读取文件的示例。

1. 打开文件

打开文件的函数原型为:

FILE *fopen(const char *filename, const char *mode);

其中,filename是要打开的文件名,mode为打开文件的模式。mode参数有以下选项:

- "r": 读取模式,打开文件用于读取。

- "w": 写入模式,打开文件用于写入。如果文件不存在,将创建一个空文件;如果文件已经存在,则会清空文件原来的内容。

- "a": 追加模式,打开文件用于写入。如果文件不存在,将创建一个空文件;如果文件已经存在,则新数据将被追加到文件末尾。

- "r+": 读写模式,打开文件用于读取和写入。

- "w+": 读写模式,打开文件用于读取和写入。如果文件不存在,将创建一个空文件;如果文件已经存在,则会清空文件原来的内容。

- "a+": 追加读写模式,打开文件用于读取和写入。如果文件不存在,将创建一个空文件;如果文件已经存在,则新数据将被追加到文件末尾。

下面是一个示例,演示如何使用fopen函数打开文件:

#include <stdio.h>

int main () {
   FILE *fp;

   fp = fopen("example.txt", "r");
   if (fp == NULL) {
      printf("File does not exist.");
      return 1;
   }

   // 文件操作

   fclose(fp);

   return 0;
}

在上面的示例中,我们首先使用fopen函数打开文件example.txt,并将返回的文件指针赋值给指针变量fp。如果文件不存在,fopen函数将返回NULL。因此我们需要对返回值进行检查,以确保文件已成功打开。

2. 读取文件

读取文件的函数包括fgetc、fgets和fread等。这些函数的返回值是读取到的字符或字符串。下面是使用fgets函数读取文件的示例:

#include <stdio.h>

int main () {
   FILE *fp;
   char str[100];

   fp = fopen("example.txt", "r");
   if (fp == NULL) {
      printf("File does not exist.");
      return 1;
   }

   while (fgets(str, 100, fp) != NULL) {
      printf("%s", str);
   }

   fclose(fp);

   return 0;
}

在上面的程序中,我们使用fgets函数读取文件example.txt中的内容,并输出到控制台。fgets函数读取的是一行字符串, 个参数是用于存储读取结果的字符串变量,第二个参数是读取的最大字符数,第三个参数是文件指针。fgets函数在遇到文件末尾或读取到指定字符数之后会返回NULL,因此我们通过在while循环中检查返回值来结束读取。

3. 关闭文件

完成文件操作后,需要使用fclose函数关闭文件。fclose函数的原型如下:

int fclose(FILE *stream);

其中stream是要关闭的文件指针。如果关闭成功,函数将返回0;如果关闭失败,则返回EOF。

下面是一个示例,演示如何使用fclose函数关闭文件:

#include <stdio.h>

int main () {
   FILE *fp;
   char str[100];

   fp = fopen("example.txt", "r");
   if (fp == NULL) {
      printf("File does not exist.");
      return 1;
   }

   while (fgets(str, 100, fp) != NULL) {
      printf("%s", str);
   }

   fclose(fp);

   return 0;
}