文件复制改进版

程序随着需求的改变而改变! 

前几天把所有有问题的题目都找出来了,题目序号保存在D盘某个目录下,现在的任务就简单了,只要从文件中读取题号,然后复制到相应的文件夹就可以了,复制完后再改写原来的题目文件,把刚才已经加入的题目序号从文件中删除

代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
int main(int argc,char * argv[])
{
    if(argc!=3)//必须是输入和输出文件同时被拖入才能执行
    {
        printf("必须把输入文件和输出文件同时拖到本程序上菜可以运行!!");
        system("pause");
        exit(1);
    }
    int i;
    char copy_data_in[1000]="copy ";
    char copy_data_out[1000]="copy ";
    char destinatine_in[1000]=" D:\\data\\0000\\data1.in ";
    char destinatine_out[1000]=" D:\\data\\0000\\data1.out ";
    char dir[100]="dir D:\\data\\0000\\ /b";
    char del_data[100]="del d:\\data\\0000\\. /q";
    char a[400][5];
//    printf("输入文件夹(题目)序号: ");
//    gets(a);
    FILE *in=fopen("d:\\小工具\\err_problem.txt","r");
    i=-1;
    while(fscanf(in,"%s",a[++i])!=EOF);
    fclose(in);
    int total=i;
    printf("%s\n",a[0]);
//    printf("%s\n",a[i-1]);
    
//删除数据==================================================================
    for(i=0;i<4;i++)
    {
        del_data[12+i]=a[0][i];
    }
    system(del_data);
    //复制数据==================================================================
    int len=strlen(argv[1]);
    if(argv[1][len-1]=='n'&&argv[1][len-2]=='i')//判断文件类型:输入数据
    {
        strcat(copy_data_in,argv[1]);
        strcat(copy_data_out,argv[2]);
    }
    else
    {
        strcat(copy_data_in,argv[2]);
        strcat(copy_data_out,argv[1]);
    }
    for(i=0;i<4;i++)
    {
        destinatine_in[9+i]=a[0][i];
        destinatine_out[9+i]=a[0][i];
    }
    strcat(copy_data_in,destinatine_in);
    strcat(copy_data_out,destinatine_out);
    printf("%s\n%s\n",copy_data_in,copy_data_out);
    system(copy_data_in);
    system(copy_data_out);
    //文件复制日志=====================================================================
    FILE *fp=fopen("D:\\OJ题目数据文件复制日志--ma6174.txt","a");
    fprintf(fp,"%s\n%s\n",copy_data_in,copy_data_out);
    fclose(fp);
    printf("\n第%s数据已经导入\n",a[0]);
    FILE *out=fopen("d:\\小工具\\err_problem.txt","w");
    int j=0;
    while(j<total-1)
    {
        fprintf(out,"%s\n",a[++j]);
    }
    fclose(out);
    printf("\n下一个要导入的题目是%s\n",a[1]);
    Sleep(20000);
    return 0;


posted on 2012-02-19 09:53  ma6174  阅读(333)  评论(0编辑  收藏  举报

导航