C语言也可以写脚本

下面有一个关于批量文件处理的程序:
把n个命名有规律的图片文件复制到指定目录

大概思路是,创建一个缓冲区,把文件放入缓冲区,再输出到指定目录,循环进行

#include<iostream>
using namespace std;
char A[10];         //文件名
char B[20]="d:\\";  //指定路径
void getstring(int i)
{
    int p=0;
    while(i)   //文件名
    {
        A[p]=i%10+48; 
        i/=10;
        p++;
    }
    A[p]='.';   //后缀
    A[p+1]='p';
    A[p+2]='n';
    A[p+3]='g';
    A[p+4]='\0';
}
void tostring()
{
    int flag_a=0;
    int flag_b=3;
    while(A[flag_a]!='\0')
    {
        B[flag_b]=A[flag_a];
        flag_a++;
        flag_b++;
    }
    B[flag_b]='\0';
}

int main()
{ 
    int x=1;
    char* buffer;
    int size,temp=0;
    getstring(x);
    FILE *fp1=fopen(A,"rb");
    while(fp1!=NULL)   //终止条件
    {
        fseek(fp1,0,SEEK_END);
        size=ftell(fp1);
        buffer=(char*)malloc(sizeof(char)*size);
        if(size>temp)   //不盲目释放!!!!!!!!!!!!!!!!!!!
        {
            free(buffer);  //记得free哦~
            buffer=(char*)malloc(sizeof(char)*size);
            temp=size;
        }
        fclose(fp1);
        fp1=fopen(A,"rb");  //注意用二进制模式打开
        fread(buffer,1,size,fp1);
        tostring();
        FILE *fp=fopen(B,"wb");
        fwrite(buffer,1,size,fp);
        fclose(fp);
        fclose(fp1);
        x++;
        getstring(x);
        fp1=fopen(A,"rb");
    }
    return 0;                                   
}

除了批量复制——当然也可以批量删除,同上,再调对应函数remove()就行了
注意:这里的删除回收站里是找不到的!

所以,一些来源不明的文件真的不要瞎打开,不然后果很严重!!

C语言也可以写脚本_第1张图片

你可能感兴趣的:(C++基础)