LINUX.ORG.RU

Ответ на: комментарий от Boy_from_Jungle
#include <sys/stat.h>

struct stat sb;
if( stat("file", &sb) == -1 && errno == ENOENT)
{
...

man 2 stat

Return Value
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
Errors
...
ENOENT
A component of the path path does not exist, or the path is an empty string.

Так лучше

adriano32 ★★★
()
Ответ на: комментарий от Boy_from_Jungle

If the named file is a symbolic link, the stat() function shall continue pathname resolution using the contents of the symbolic link, and shall return information pertaining to the resulting file if the file exists.

Furthemore

lstat() is identical to stat(), except that if path is a symbolic link, then the link itself is stat-ed, not the file that it refers to.

Никто не запрещает проверить st_mode

adriano32 ★★★
()
Ответ на: комментарий от hippi90

А как каталог создать? Гугл повествует об устаревших, либо не кроссплатформенных решениях.

f1xmAn ★★★★★
() автор топика
Ответ на: комментарий от f1xmAn

опять же

    boost::filesystem::path conf_dir("/home/username/rallygame");   
    boost::filesystem::create_directory(conf_dir);
// boost::filesystem::exists(boost::filesystem::path)
// boos::filesystem::is_directory(boost::filesystem::path)

jeuta ★★★★
()
Ответ на: комментарий от vertexua

>"!=NULL" не надо. Оно и так не равно.

В любом случае единицу возвращает.

f1xmAn ★★★★★
() автор топика
Ответ на: комментарий от jeuta

>да уж. а казалось бы есть std::, но чёрт возьми быстрее освоить boost

Я так понял, что boost:: - это набор не стандартных библиотек? То есть чтобы программа заработала на другой машине, нужно и туда установить эти библиотеки? А как создать директорию, используя лишь встроенные библиотеки cpp?

f1xmAn ★★★★★
() автор топика

А чего это у тебя такие типы странные?

У меня это работает

bool FileExists(const char* path)
{
    return std::ifstream(path);
}
vertexua ★★★★★
()
Ответ на: комментарий от f1xmAn

>А как создать директорию, используя лишь встроенные библиотеки cpp

man mkdir(2)

Почитайте POSIX, интересно пишут.

AptGet ★★★
()
Ответ на: комментарий от AptGet

>Почитайте POSIX, интересно пишут.

Очень душевно :)

man 2 mkdir

Спасибо.

f1xmAn ★★★★★
() автор топика
Ответ на: комментарий от f1xmAn

То есть чтобы программа заработала на другой машине, нужно и туда установить эти библиотеки?

Можно прилинковать статически.

Xenon ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.