CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

用freopen重定向到stdout,怎么应该先执行的反倒放在后面去了,用了fflush也不行?

楼主jiek0808(逆光小子)2006-08-01 08:59:39 在 C/C++ / C语言 提问

#include   <stdio.h>  
  #include   <stdlib.h>  
  #include   <string.h>  
  #include   <time.h>  
   
  char*   GetLocalTime();  
  int   IsRunned();  
   
  void   main()  
  {  
  FILE*   fp;  
   
  if((fp=freopen("/cms/batfiles/cas/logs/cascms.log","a+",stdout))==NULL)  
  {  
  printf("open   file   cascms.log   error\n");  
  exit(1);  
  }  
  fflush(fp);  
  printf("%s",GetLocalTime());  
   
  if(!IsRunned())  
  {  
  printf("开始执行程序/cms/batfiles/cas/script/cascms.sh\n");  
  system("/cms/batfiles/cas/script/cascms.sh");  
  }  
  else  
  {  
  printf("进程已运行,无需再次调度\n");  
  }  
  fclose(fp);  
  return;  
  }  
   
  int   IsRunned()  
  {  
  FILE*   fp;  
  char   szFileName[]="/cms/batfiles/cas/script/check";  
  char   szCmd[]="ps   -ef|grep   cascms|grep   -v   cascms_do|grep   -v   grep>/cms/batfiles/cas/script/check";  
  char   buff[100];  
   
  system(szCmd);  
  if((fp=fopen(szFileName,"r"))==NULL)  
  {  
  printf("open   file   %s   error!\n",szFileName);  
  exit(1);  
  }  
  if((fgets(buff,100,fp)) ==NULL)  
  {  
  printf("fgetc   error\n");  
  return   0;  
  }  
  else  
  {  
  /*printf("%s   length   is   %d\n",buff,strlen(buff));*/  
  return   1;  
  }  
  }  
   
  char*   GetLocalTime()  
  {  
  time_t   lt;  
  /*char*   szTime;*/  
  lt=time(NULL);  
  return   ctime(&lt);  
  /*return   szTime;*/  
  } 问题点数:20、回复次数:1Top

1 楼sswater(光杆兵)回复于 2006-08-01 12:59:34 得分 0

有人实现的重定向的方法,你可以看一下。  
   
  可以将   <stdio.h>   中的   stdout、stderr;<iostream.h>   中的   cout、cerr、clog;<winbase.h>   中的   STD_OUTPUT_HANDLE、STD_ERROR_HANDLE   各自重定向到不同的地方,并且还支持一种特殊的重定向:重定向到回调函数(Callback   Function)  
   
  http://www.regexlab.com/zh/stdredir/  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:jiek0808

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo