文件操作在编程语言中扮演着重要的角色,下面是C/C++中的文件操作 --- 重定向文件操作

  重定向文件操作有下面几个优势:

    1. 操作快捷、方便、简单。

    2. 在对文件进行读写等操作时,可以使用常规的输入输出函数/语句,例如:直接使用printf()和scanf()等等;当然,也能够使用原来的fprintf()和fscanf()。

  然而它也有一个地方不足:在文件操作的模式为只读模式时,如果在路径没有找到指定文件时,无法自行创建一个文件。

  实现方法:在main函数的开头加上两条语句,例如:

freopen("D:\\abc.in","r",stdin);
freopen("D:\\abc.out","w",stdout);

  其中,第一个参数表示文件的名称和路径,第二个参数表示文件操作的模式("r","w"分别表示只读和只写;类似的,还有"rb"和"wb"分别表示二进制文件的只读与只写),第三个参数表示文件的“流”(其实我也不知道这是什么意思,先这么记着吧),我们先默认填stdin和stdout。

   该函数有一个返回值FILE*,表示指向该文件的指针,当指针的值为NULL时,则表示打开或创建文件失败。

   最后还要记得调用fclose(),关闭文件并释放资源。

   接下来,我们通过一个非常简单的例子来具体使用一下此函数。

   【输入】两个整数a和b

   【输出】a+b的值

   源代码如下:

int main(void)
{  
   int a,b;
   freopen("D:\\abc.in", "rb", stdin);
   freopen("D:\\abc.out", "wb", stdout);
   scanf("%d%d", &a, &b);
   printf("%d is the result\n",a, b);
   fclose(stdin);
   fclose(stdout);
   return 0;
}

OK,关于重定向输入输出的介绍就暂时告一段落。