gpt4 book ai didi

c - 在c中的windows中创建文件夹的日期

转载 作者:行者123 更新时间:2023-11-30 14:50:07 25 4
gpt4 key购买 nike

我需要目录中所有文件的创建日期,它适用于所有文件,但不适用于文件夹。

int antiguedad(char * nombre){

ZeroMemory(&fileinfo, sizeof(BY_HANDLE_FILE_INFORMATION));
// obtain a handle to the file, in this case the file
// must be in the same directory as your application
HANDLE myfile = NULL;
//char * nombre = "nuevooo.txt";
myfile = CreateFileA(nombre,0x00,0x00,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

// if we managed to obtain the desired handle
if(myfile!=INVALID_HANDLE_VALUE)
{
//try to fill the structure with info regarding the file
if(GetFileInformationByHandle(myfile, &fileinfo))
{
SYSTEMTIME systemTime;
FileTimeToSystemTime(&fileinfo.ftCreationTime, &systemTime);
printf("El archivo tiene %i dias \n", diferenciaEndias(systemTime.wDay,systemTime.wMonth, systemTime.wYear));
}
CloseHandle(myfile);
}
else {

printf("IT A FOLDER \n");
}
return 0;

}

我认为需要文件夹的特定代码,但我没有找到任何内容

最佳答案

避免使用FILE_ATTRIBUTE_NORMAL(它实际上意味着缺少所有其他属性,包括只读/存档/系统/隐藏等,因此它可能与您的期望不符 - 尽管它可以根据 CreateFile 意图被忽略)。

要获取文件夹的有效句柄,请包含 FILE_FLAG_BACKUP_SEMANTICS。

关于c - 在c中的windows中创建文件夹的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49202466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com