注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

长风明志的博客

不要也不能做下一个谁,应该且可以做第一个自己

 
 
 

日志

 
 

【转】freopen用法  

2012-02-29 19:59:18|  分类: C/C++编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转自百度百科

函数简介  函数名: freopen

  功 能: 替换一个流,或者说重新分配文件指针,实现重定向。

  用 法: FILE *freopen(char *filename, char *type, FILE *stream);

  头文件:stdio.h

程序例

  举例1:

  #include <stdio.h>

  int main()

  {

  /* redirect standard output to a file */

  if (freopen("D:OUTPUT.txt", "w", stdout)==NULL)

  fprintf(stderr, "error redirecting\stdout\n");

  /* this output will go to a file */

  printf("This will go into a file.");

  /* close the standard output stream */

  fclose(stdout);

  return 0;

  }

  举例2:

  如果上面的例子您没看懂这个函数的用法的话,请看这个例子。这个例子实现了从stdout到一个文本文件的重定向。即,把输出到屏幕的文本输出到一个文本文件中。

  #include <stdio.h>

  int main()

  {

  int i;

  if (freopen("D:OUTPUT.txt", "w", stdout)==NULL)

  fprintf(stderr, "error redirecting\stdout\n");

  for(i=0;i<10;i++)

  printf("%3d",i);

  printf("\n");

  fclose(stdout);

  return 0;

  }

  在VC++6.0中运行一下,你会发现,十个数输出到了D盘下文本文件OUTPUT.txt中。

  举例3:

  从文件in.txt中读入数据,计算加和输出到out.txt中

  #include <iostream.h>

  #include <cstdio.h>

  using namespace std;

  int main()

  {

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

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

  int a,b;

  while(scanf("%d%d",&a,&b)!=EOF)

  printf("%d\n",a+b);

  fclose(stdin);

  fclose(stdout);

  return 0;

  }

  举例4:[1]

  若要返回到显示默认 stdout) 的 stdout,使用下面的调用:

  freopen( "CON", "w", stdout ); //输出到控制台"CON"

  检查 freopen() 以确保重定向实际发生的返回值。

  下面是短程序演示了 stdout 时重定向:

  运行代码

  // Compile options needed: none

  #include <stdio.h>

  #include <stdlib.h>

  void main(void)

  {

  FILE *stream ; //将内容写到file.txt, "W"是写 ("r"是读)

  if((stream = freopen("file.txt", "w", stdout)) == NULL)

  exit(-1); printf("this is stdout output\n");

  stream = freopen("CON", "w", stdout);stdout 是向程序的末尾的控制台重定向

  printf("And now back to the console once again\n");

  }

  评论这张
 
阅读(370)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018