Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > либа для работы с ФС


Автор: nerezus 13.4.2007, 19:28
Итак, нужна кроссплатформенная либа для доступа к файлам.
Т.е. чтобы работал код типа

Код

File * f = new File("/path/to/file.ext"); // для винды еще сама преобразует / в \ к примеру
if (f->isWriteable()) {
    ....
}

Автор: Daevaorn 13.4.2007, 19:38
Цитата(nerezus @  13.4.2007,  20:28 Найти цитируемый пост)
 для винды еще сама преобразует / в \ к примеру

винде пофиг и так.
а вообще boost::filesystem

Автор: powerfox 14.4.2007, 00:06
Можно и qt заюзать, но это извращение.

Автор: nerezus 14.4.2007, 08:49
powerfox, у меня нет $2600(вроде столько) чтобы юзать Qt.

Автор: MAKCim 14.4.2007, 08:56
Цитата(nerezus @  14.4.2007,  08:49 Найти цитируемый пост)
powerfox, у меня нет $2600(вроде столько) чтобы юзать Qt. 

т. е у тебя коммерческая программа?
ну тогда boost самое оно

Автор: nerezus 14.4.2007, 10:39
А под какие платформы работает boost? Под симбиан и WinMobile будет?

Автор: Daevaorn 14.4.2007, 11:09
Цитата(nerezus @  14.4.2007,  11:39 Найти цитируемый пост)
 WinMobile 

частично
Цитата(nerezus @  14.4.2007,  11:39 Найти цитируемый пост)
 симбиан

именно fs нет

Автор: Любитель 15.4.2007, 16:02
Цитата(Daevaorn @  14.4.2007,  11:09 Найти цитируемый пост)
частично

ИМХО вообще не будет. В Windows Mobile если я не ошибаюсь вообще отсутствуют ANSI-функции WinAPI (всмысле те, что с суффиксом A, а не W). Во всех NT-шках они есть (хоть и вызывают по сути юникодовские). А в ядре WinCE решли экономить (что логично). boost::filesystem вроде юзает именно анси-версии ВинАПИ-шных функций. Ради компатибилити (ну или POSIX - но енто не винда).

И ещё - в перспективе возможна поддержка в boost::filesystem других АПИ.

Автор: Daevaorn 15.4.2007, 16:10
Цитата(Любитель @  15.4.2007,  17:02 Найти цитируемый пост)
ИМХО вообще не будет. В Windows Mobile если я не ошибаюсь вообще отсутствуют ANSI-функции WinAPI (всмысле те, что с суффиксом A, а не W). Во всех NT-шках они есть (хоть и вызывают по сути юникодовские). А в ядре WinCE решли экономить (что логично). boost::filesystem вроде юзает именно анси-версии ВинАПИ-шных функций. Ради компатибилити (ну или POSIX - но енто не винда).

Насколько я помни большинство функций из fs у меня для WinMobile собирались. Кроме той, которая в своих недрах использует ::GetCurrentDirectory, которой просто нет в мобильном API

Автор: Любитель 15.4.2007, 16:18
Daevaorn, ну, я говорил лишь в теории smile Проверить просто негде. Даже буста под рукой нету :( Ошибок может быть две:
1. Буст может юзать юникод-версии. Хотя вроде написано что это не так.
2. В ВинАПИ для WinСE поддерживаются анса-функции. Возможно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)