Вопрос по c++, boost-filesystem, boost, fstat – Получить владельца файла и группу, используя boost

4

Я хочу получить владельца и группу из файла, используя boost :: filesystem, но так и не нашел способа сделать это.

Я могу получить разрешения для файла, но, поскольку я не знаю владельца файла, это просто ничего не значит.

Я нашел функцию posst fstat, но опять же я хотел бы использовать boost или другую библиотеку C ++ вместо функций C.

@CharlesB Как мой пост может дублировать это? Другой может быть дубликатом, но не моим, как его старый. Geoffroy

Ваш Ответ

1   ответ
-1

что вы просите сделать, это системный вызов Unix. Но ты не хочешь это называть? Зачем? Какое возможное значение может обеспечить повышение? Это не переносимость, так как ничто вне Unix не будет иметь значимого поля st_gid.

POSIX - это Unix. Используйте системный вызов, для чего он предназначен.
Это будет переносимо на все системы posix :) Так что, возможно, есть такая библиотека C ++, реализующая это. И поскольку я работаю над инструментом CLI, он на самом деле не предназначен для Windows и других не-posix систем. Geoffroy
Ты хочешь свой ответ или нет? Очевидно, что все не является системным вызовом: вы не можете открыть окно, распаковать поток zlib или вычислить хеш MD5 с помощью системного вызова. Но тыcan Стат файл. Вы пишете на языке, который обеспечивает беспрепятственный доступ к системным вызовам вашей платформы. Используй это.
@AndyRossboost::filesystem действительно обеспечивает абстракцию для битовых масок разрешений POSIX, таких как чтение / запись / выполнение, поэтому имеет смысл спросить, почемуboost::filesystem пропускает абстракцию для владельца / группы POSIX.
POSIX - это спецификация, Unix - это реализация, это не совсем то же самое. Система posix не может быть системой unix. И в этом случае вы НИКОГДА не используете какую-либо библиотеку, потому что все это системный вызов. Почему я должен использоватьnew как это разрешено на системный вызов? Здесь то же самое. Geoffroy

Похожие вопросы