在C语言中,可以使用以下方法获取当前工作目录下文件的详细信息:
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
void getFileDetails(const char* path) {
DIR* directory = opendir(path);
if (directory == NULL) {
printf("无法打开目录\n");
return;
}
struct dirent* entry;
struct stat fileStat;
while ((entry = readdir(directory)) != NULL) {
char filePath[256];
sprintf(filePath, "%s/%s", path, entry->d_name);
if (stat(filePath, &fileStat) == -1) {
printf("无法获取文件信息\n");
continue;
}
printf("文件名:%s\n", entry->d_name);
printf("文件大小:%ld bytes\n", fileStat.st_size);
printf("文件权限:%o\n", fileStat.st_mode & 0777);
printf("最后访问时间:%s", ctime(&fileStat.st_atime));
printf("最后修改时间:%s", ctime(&fileStat.st_mtime));
printf("\n");
}
closedir(directory);
}
int main() {
char currentPath[256];
if (getcwd(currentPath, sizeof(currentPath)) == NULL) {
printf("无法获取当前工作目录\n");
return 1;
}
getFileDetails(currentPath);
return 0;
}
以上代码会遍历当前工作目录下的所有文件,输出每个文件的名称、大小、权限、最后访问时间和最后修改时间。
腾讯云相关产品推荐:
Techo Day
云+未来峰会
Elastic 中国开发者大会
腾讯云GAME-TECH沙龙
云+社区技术沙龙[第6期]
腾讯技术开放日
DBTalk技术分享会
DB TALK 技术分享会
GAME-TECH
云+社区技术沙龙[第9期]
云+社区技术沙龙[第17期]
领取专属 10元无门槛券
手把手带您无忧上云