用C语言写一个用windows.h中的头文件来实现的将D盘的data文件夹中文件按文件名称的英文不同来分类
时间: 2024-05-16 09:15:18 浏览: 129
Windows平台C语言获取文件的一些属性
5星 · 资源好评率100%
以下是一个用C语言实现的将D盘的data文件夹中文件按文件名称的英文不同来分类的程序:
```c
#include <stdio.h>
#include <string.h>
#include <windows.h>
void classifyFiles(const char* path);
int main() {
classifyFiles("D:\\data\\");
return 0;
}
void classifyFiles(const char* path) {
char searchPath[MAX_PATH];
HANDLE hFind;
WIN32_FIND_DATAA findData;
strcpy(searchPath, path);
strcat(searchPath, "*.*");
hFind = FindFirstFileA(searchPath, &findData);
if (hFind == INVALID_HANDLE_VALUE) {
printf("Failed to find the first file!\n");
return;
}
do {
if ((findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
char fileName[MAX_PATH];
strcpy(fileName, findData.cFileName);
int length = strlen(fileName);
if (length > 0 && fileName[length - 1] != '.') {
char folderName[2] = { fileName[0], '\0' };
char folderPath[MAX_PATH];
strcpy(folderPath, path);
strcat(folderPath, folderName);
strcat(folderPath, "\\");
CreateDirectoryA(folderPath, NULL);
char filePath[MAX_PATH];
strcpy(filePath, path);
strcat(filePath, fileName);
MoveFileA(filePath, folderPath);
}
}
} while (FindNextFileA(hFind, &findData));
FindClose(hFind);
}
```
该程序通过遍历指定目录下的所有文件,将文件按照首字母不同来分类,即将首字母为A的文件放在A文件夹下,将首字母为B的文件放在B文件夹下,以此类推。具体实现是通过创建对应的文件夹,然后将文件移动到对应的文件夹中来完成的。
阅读全文