21xrx.com
2024-09-20 05:36:42 Friday
登录
文章检索 我的文章 写文章
C++文件读写操作:freopen函数的使用
2023-07-01 15:12:26 深夜i     --     --
C++ 文件读写操作 freopen函数 使用

C++中提供了许多文件操作的函数,其中freopen函数的使用是其中一个重要的操作。freopen最初的作用是将标准输入/输出文件指针重定向到指定的文件中,但是该函数还可以用来实现一些文件读写操作。

freopen函数的声明如下:


FILE* freopen (const char* filename, const char* mode, FILE* stream);

其中参数filename是指文件名,mode是指文件读写模式,stream是指要操作的文件指针。

我们来看一个例子,假设现在有一个名为test.txt的文件,里面包含一些数据:


10 8 6 4 2

我们想要把这些数据读到数组中,并将数组中每个元素都加上1,最后再将数组中的数据写回到test.txt文件中。这个操作可以通过freopen函数来实现,代码如下:


#include <cstdio>

const int MAX_N = 5;

int a[MAX_N];

int main() {

  freopen("test.txt", "r", stdin);

  for(int i = 0; i < MAX_N; i++) {

    scanf("%d", &a[i]);

    a[i]++;

  }

  freopen("test.txt", "w", stdout);

  for(int i = 0; i < MAX_N; i++) {

    printf("%d ", a[i]);

  }

  fclose(stdin);

  fclose(stdout);

  return 0;

}

在程序中,首先使用freopen函数将标准输入文件流指向test.txt文件,然后通过scanf函数将文件中的数据读到数组a中,并对数组中的每个元素都加上1。接着再次使用freopen函数将标准输出文件流指向test.txt文件,最后用printf函数将修改后的数据写回到test.txt文件中。在操作完成后,需要用fclose函数关闭文件指针。

除了上述的读写文件操作外,freopen函数还可以执行以下操作:

1. 改变文件的打开模式

在程序运行时,可以使用freopen函数改变文件的打开模式。例如将一个文件由只读模式改为写模式。

2. 改变文件的流定向

在程序运行过程中,如果需要更改文件读入或输出方向,可以使用freopen函数实现。例如可以将输入流从标准输入改为文件输入。

总的来说,freopen函数是一个非常强大的文件操作函数。使用它可以方便地实现文件的读写操作,而且还可以实现其他一些高级文件操作。因此,掌握freopen函数的使用是非常重要的。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复