Я хочу получить FAT32 свойства некоторого файла. Я уже разобрался как FAT32 хранит их и написал структуру для их хранения. Но возник вопрос: как их получить?
Сначала я хотел сделать так:
FILE* in = fopen("H:\\test.txt", "rb");
Но fopen() лишает нас этой информации.
Можно ли каким-либо образом получить FAT32 свойства файла?
Ответ
С++ абстрагирует от вас свойства файловой системы, так что вам придётся пользоваться системно-специфическими функциями.
Для Windows информация, которая вам нужна, находится в структуре WIN32_FIND_DATA. Её можно получить, например, при помощи FindFirstFile
Код из MSDN:
#include
WIN32_FIND_DATA FindFileData;
HANDLE hFind = FindFirstFile(filename, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
// обработать ошибку
return;
}
else
{
// можно пользоваться
// не забудьте в конце:
FindClose(hFind);
}
Для Linux-платформы аналогичную информацию выдаёт функция stat (2)
#include
struct stat sb;
if (stat(argv[1], &sb) == -1)
{
// обработать ошибку
return;
}
else
{
// можно пользоваться
}
Комментариев нет:
Отправить комментарий