CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问如何在dos下用c实现定时的文件拷贝(任何文件均可,后者是目录的拷贝)。急用!!解决问题者可加分!!

楼主lfslfs5367(爱岗敬业)2004-12-02 17:41:39 在 C/C++ / C语言 提问

请问如何在dos下用c实现定时的文件拷贝(任何文件均可,后者是目录的拷贝)。  
  要纯dos的系统下,不要带windows的命令和库。谢谢各位哥哥姐姐了。  
  最好能动态生成目标文件的名称。应为要实现数据库的备份,所以要循环覆盖已有的文件。 问题点数:50、回复次数:13Top

1 楼milozy1983(Detective)回复于 2004-12-02 18:42:45 得分 5

用TSR修改1CH中断可否?Top

2 楼lfslfs5367(爱岗敬业)回复于 2004-12-03 09:10:12 得分 0

请问,如何在c下定时启动该程序。Top

3 楼DiabloWalkOnTheEarth(我想到个绝妙的昵称,只是地方太小,写不下)回复于 2004-12-03 09:22:39 得分 3

同意一楼,用时钟中断可以,不过现在什么地方还在用DOS啊,不解.Top

4 楼xdspower(杂食菜熊)回复于 2004-12-03 10:04:53 得分 5

楼主有的什么拼音,错误字太多了。  
  milozy1983(跳蚤侦探)的方法是可行的。TSR是系统驻留程序,可以实现定时完成定时执行的功能。Top

5 楼lfslfs5367(爱岗敬业)回复于 2004-12-07 08:39:31 得分 0

谢谢各位,可是我没接触过"用TSR修改1CH".请问哪里有介绍这个的资料????Top

6 楼0909424(浪子)回复于 2004-12-07 11:07:47 得分 4

高级C程序设计中或者汇编中有过详细的TSR解释Top

7 楼realee(Frankie)回复于 2004-12-07 11:45:04 得分 3

自己goole或者csdn找一下TSR比较多:)Top

8 楼lfslfs5367(爱岗敬业)回复于 2004-12-07 11:53:27 得分 0

还有一个条件忘了说了,就是在系统中还有另一个程序在运行,可以让这两个程序同时运行么.  
  我的这个程序一天只执行一次文件的拷贝.可以在执行时通过我的这个程序将那个程序关闭掉,但在没有到达定时的时间时要两个程序同时存在.能实现么?不知道我说的是否清楚....Top

9 楼snow810211(阳光)回复于 2004-12-07 12:01:08 得分 10

 
  #include   <stdio.h>  
  #include   <string.h>  
  void   main()  
  {  
  FILE   *fp1,*fp2;  
  char   ch[1024];  
  unsigned   long   ret;  
  char   source[259];  
  char   ming[5]={0};  
  char   dest[259];  
  int   n,i,j,t,k,len,mark,startnum,num;  
  printf("Please   input   the   source   file   path   and   name   :");  
  scanf("%s",source);  
  if((fp1=fopen(source,"rb"))==NULL)  
  {  
  printf("Cannot   open   the   file!\n");  
  return;  
  }  
  len=strlen(source);  
   
   
  for(i=len-1;i>=0;i--)  
  {  
  if(source[i]=='.')  
  {  
  mark=i;  
  break;  
  }  
  }  
  for(j=mark,t=0;source[j];j++,t++)  
  {  
  ming[t]=source[j];  
  }  
   
   
   
  printf("Please   input   startnumber   (1000~9999):");  
  scanf("%d",&startnum);  
  printf("Please   input   the   number   of   copies   :");  
  scanf("%d",&num);  
   
   
   
  for(k=startnum;k<(num+startnum);k++)  
  {  
  itoa(k,dest,10);  
  strcat(dest,ming);  
   
          if((fp2=fopen(dest,"wb"))==NULL)  
  {  
  printf("Cannot   open   the   file!\n");  
  return;  
  }  
   
                          rewind(fp1);  
          while(!feof(fp1))  
  {  
          ret   =   fread(ch,sizeof(char),1024,fp1);  
          fwrite(ch,sizeof(char),ret,fp2);  
  }  
   
  }  
     
   
   
   
  }  
  Top

10 楼lfslfs5367(爱岗敬业)回复于 2004-12-07 14:15:11 得分 0

谢谢楼上的兄弟,谁有关于TSR定时的代吗????Top

11 楼lfslfs5367(爱岗敬业)回复于 2004-12-08 13:40:27 得分 0

哪位哥哥能帮帮忙呀!!!!Top

12 楼icansaymyabc(学习与进步)回复于 2004-12-08 14:43:23 得分 20

实现是没问题的。  
  DOS下的常驻内存的程序(TSR)很容易写的。  
  写一个TSR程序接管时钟中断,这样做好后每一次时钟中断你的程序都会被调用,你就可以检查拷贝时间是否到了,时间到了就进行文件拷贝,时间没到就不做事。  
   
  关键难就难在DOS是不可重入的。你的TSR程序被激活时要检查此刻DOS是否被调用,如果被调用了你就不能做事。必须等到DOS没有被调用你才能进行文件拷贝。这一点很难做。你要小心编程。这一点不处理好你的程序100%导致死机。  
  Top

13 楼lfslfs5367(爱岗敬业)回复于 2004-12-09 10:51:57 得分 0

谢谢各位,我想我要使用其他的方法了.揭帖!!!Top

相关问题

  • 怎样在c++中定时?
  • 在DOM中,怎样移动,拷贝节点?(非常急用!)
  • 谁有THINKIING IN C++ 急用!送100分!
  • 谁有IssueVision的C#代码,急用!
  • 怎样可以长时间定时执行程序???急用,谢谢
  • C++拷贝构造函数
  • 如何用oracle定时创建表和拷贝数据?
  • 急!急!!用什么函数拷贝一个文件到别的目录?
  • 请问怎么将该网页文字拷贝下来啊?★我急用呀
  • 有没有复制文件的C++or C 库函数(急用)

关键词

  • 拷贝
  • 文件
  • 执行
  • source
  • 系统
  • 定时
  • 请问
  • tsr
  • 程序
  • 实现

得分解答快速导航

  • 帖主:lfslfs5367
  • milozy1983
  • DiabloWalkOnTheEarth
  • xdspower
  • 0909424
  • realee
  • snow810211
  • icansaymyabc

相关链接

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

广告也精彩

反馈

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