в данный момент я пишу что-то вроде lib, которое получает извне имя файла 'sFilename'.При этом данные были записаны в файл, который будет создан, данные были добавлены в существующий файл с данными, данные были обновлены в существующий файл с данными или данные были считаны из существующих данных.
Пользовательприложения с моей библиотекой должны получать как можно больше информации об ошибках обработки файлов.
Для этой цели я кодирую метод FileExists (...), который использует _stat () для определения, существует файл или нет, и метод "bool checkPermission (std :: string sFilename, CFile :: EOpenmode iOpenmode) "который возвращает bool, если указанный файл (sFilename) с iOpenmode (Read, Write, Readwrite) имеет разрешение на чтение, запись или чтение и запись.
Этот метод работает с _stat (sFilename.c_str (), & buf) тоже и возвращает нужную информацию о файле обратно в buf. * 1007 *
Перед проверкой какого-либо файла я хочу проверить, имеет ли каталог, содержащий указанный файл, требуемые разрешения и для этого я хочуиспользовать метод checkPermission [работает с _stat ()] для каталога!
Теперь проблема: как я могу легко определить содержащий каталог?Если пользователь просто задает имя файла «test.txt», файл будет создан или прочитан в рабочем каталоге.Так что легко получить up-каталог.Это так же, как рабочий каталог.(И там просто использовать checkPermission для получения подробной информации о каталоге).
Но что делать, когда пользователь не только дает имя файла?Например, ".... \ test.txt" или "dir1 \ dir2 \ test.txt".Как объединить рабочий каталог с определенным путем, чтобы получить up-каталог файла, а затем проверить права доступа?
Фу, я надеюсь, что все понятно, и это не слишком долго; -)
Rumo