Страницы

Поиск по вопросам

воскресенье, 12 мая 2019 г.

Получение FAT32 свойств файла

Я хочу получить 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 #include
struct stat sb; if (stat(argv[1], &sb) == -1) { // обработать ошибку return; } else { // можно пользоваться }

Комментариев нет:

Отправить комментарий