if (p0.cFileName[length - 4] == '.' && p0.cFileName[length - 3] == 'm' && p0.cFileName[length - 2] == 'p' && p0.cFileName[length - 1] == '3') { strcpy(song_path[song_num], s); strcat(song_path[song_num], "\\"); strcat(song_path[song_num], p0.cFileName); strncpy(song_name[song_num], p0.cFileName, strlen(p0.cFileName)-4); gotoxy(1+song_num, 10); //printf("%d、",i); //printf("%s",song_name[song_num]); song_num++;
时间: 2023-02-07 08:08:05 浏览: 287
这是一个判断语句,表示如果 p0.cFileName 数组的第 length - 4 个元素等于'.',则执行某些操作。
其中,p0 是一个变量,cFileName 是这个变量的一个数组,length 是这个数组的长度。
如果您有具体的问题或需要更多的解释,请告诉我。
相关问题
用C语言写一个用windows.h中的头文件来实现的将D盘的data文件夹中文件按文件名称的英文不同来分类
以下是一个用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文件夹下,以此类推。具体实现是通过创建对应的文件夹,然后将文件移动到对应的文件夹中来完成的。
阅读全文