文件复制改进版
程序随着需求的改变而改变!
前几天把所有有问题的题目都找出来了,题目序号保存在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;
#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