zoukankan      html  css  js  c++  java
  • 文件复制改进版

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

    前几天把所有有问题的题目都找出来了,题目序号保存在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;



    博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

    对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


  • 相关阅读:
    switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
    int和Integer有什么区别?
    访问修饰符public,private,protected,以及不写(默认)时的区别?
    Hashmap如何同步?
    Iterator和ListIterator的区别?
    Java的HashMap是如何工作的?
    MyBatis与Hibernate有哪些不同?
    Spring框架中有哪些不同类型的事件?
    Spring的自动装配?
    Spring如何处理线程并发问题?
  • 原文地址:https://www.cnblogs.com/ma6174/p/2357919.html
Copyright © 2011-2022 走看看