Название: Баг или фича? Отправлено: Vitto74 от Сентябрь 17, 2010, 14:36 Почему функция QFile::exists("/etc/.") возвращает true, хотя файла такого нет - это папка.
При этом QFile::exists("/etc") возвращает false. Название: Re: Баг или фича? Отправлено: Samuill от Сентябрь 17, 2010, 17:57 Ну, если вы в UNIX'е пробовали этот код, то всё в порядке, потому как в нём всё есть файл по большому счёту
Название: Re: Баг или фича? Отправлено: Vitto74 от Сентябрь 17, 2010, 18:55 Хреновато. Попытка открыть для записи заканчивается ошибкой.
Название: Re: Баг или фича? Отправлено: Grem от Сентябрь 17, 2010, 19:35 Почему функция QFile::exists("/etc/.") возвращает true, хотя файла такого нет - это папка. Ошибаетесь, /etc/. есть, вот смотрите -При этом QFile::exists("/etc") возвращает false. Код
Название: Re: Баг или фича? Отправлено: TukiNov от Сентябрь 17, 2010, 21:05 Хреновато. Попытка открыть для записи заканчивается ошибкой. Права доступа. простые смертные не могут в /etc писатьНазвание: Re: Баг или фича? Отправлено: maxim от Сентябрь 17, 2010, 21:44 Скорее файл такой есть. В Unix не каталогов, зато есть файлы с разными флагами. Поэтому он и возратил true.
Название: Re: Баг или фича? Отправлено: Vitto74 от Сентябрь 17, 2010, 23:06 Собственно . и .. это, сточки зрения программы, не файлы, а папки. Если я открываю /home/<user>/. то происходит также ошибка т.к. как бы мне ни хотелось открыть папку как файл это сделать не получится.
Код: vitto@vitto-desktop:~$ cat /. Название: Re: Баг или фича? Отправлено: alexcpp от Сентябрь 17, 2010, 23:24 идеология ФС линуксподобных систем - все есть фаил. в вашем случае все правильно.
не понятно, чего вы ожидаете... Название: Re: Баг или фича? Отправлено: Vitto74 от Сентябрь 18, 2010, 04:21 Это скорее не идеология, а особенности файловой системы Unix - она очень гибкая. Но тем не менее другие программы определяют этот путь как папку, а Qt утверждает, что это файл, но открывать его как файл отказывается.
Пока при переборе файлов, приходится пользоваться костылями Код: if (str.right(2) == QDir::separator+".") Название: Re: Баг или фича? Отправлено: nixman05 от Сентябрь 18, 2010, 10:21 Это скорее не идеология, а особенности файловой системы Unix - она очень гибкая. Но тем не менее другие программы определяют этот путь как папку, а Qt утверждает, что это файл, но открывать его как файл отказывается. Пока при переборе файлов, приходится пользоваться костылями Код: if (str.right(2) == QDir::separator+".") Используй Код
|