文件批量修改,其中使用到了获取目录下所有文件的字符拼接技巧,代码如下:
//这样可以批量修改文件
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void changAll(char *path)
{
char list[50] = "D:\\list.txt";
char cmd[100];
remove(list); //删除
//格式化字符串指令,查看指所文件下的所有文件
sprintf(cmd, "dir /b %s\\%s >%s", path, "*.txt",list); //把文件与要查询的文件拼接起来,并输出到一个文件中。
printf("%s\n", cmd);
//执行指令
system(cmd);
FILE *pfr = fopen(list, "r");
//从 list 中读出一段记录,就是一个文件名,所以这时要做个处理
char str[256] = { 0 };
while (fgets(str, 255, pfr))
{
//这时从 list 记出一条记录,这时str 保存的记录是以 \n 即换行为结束标识的
//这时我们需要把这个 \n 换行记录替换成 \0 这样才是一个字符串的结束标识。
int length = strlen(str);
str[length - 1] = '\0';
char temp[100] = { 0 };
sprintf(temp, "%s\\%s", path, str);
//printf("%s\n", temp);
FILE *pfw = fopen(temp, "a+");
fputs("\nabcdefg", pfw);
fclose(pfw);
}
fclose(pfr);
remove(list);
}
void main()
{
changAll("e:\\test");
system("pause");
}