2013-10-01 4 views
-3

У меня есть относительная строка пути, и я хотел бы проверить, существует ли этот файл или нет. Я знаю, что могу проверить его с Тринг, чтобы открыть его - когда у меня есть абсолютный путь:Как проверить существование файла с относительным путем в C++

filestream.open(filename.c_str(),fstream::in); 

(и проверки, если файл был открыт или нет) , но как я могу это сделать, когда у меня есть родственник дорожка?

+0

У вас есть доступ к библиотекам boost C++? – Bathsheba

+0

Нет. Я видел это решение. – user1016179

+0

, на какую ОС? Какие библиотеки могут/вы используете? Не достаточно информации, чтобы ответить на этот вопрос. – KillianDS

ответ

2

С относительными путями вопрос всегда «относительно чего?».

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

Если это не, то чего вы хотите, то вы знаете, чего хотите от этого. Просто добавьте это; это даст вам абсолютный путь, который вы можете передать конструктору потока файлов или open().

Смежные вопросы