Я сохранил все файлы, которые я намерен использовать в качестве входных потоков в своем приложении, в папке с именем «res». Я пытаюсь использовать эти файлы в качестве входных потоков путем создания строки в приложении, а затем открыть их, используя что-то вроде этого:ifstream объекты из файлов в других каталогах в C++
....
ifstream inputFile;
....
char fileName[30];
strcpy(fileName,"res/")
switch(num){
case 1:
strcat(fileName,"file1");
case 2:
strcat(fileName,"file2");
....
}
inputFile.open(fileName);
....
Но файлы не открываются, и я не знаю, почему; метод inputFile.is_open()
возвращает false. Поэтому у меня есть 2 вопроса:
Как сослаться на файлы в подкаталогах и, по этому вопросу, файлы в других папках в родительском каталоге?
Есть ли более эффективная практика, чем тот, который я использую для выполнения того, что я пытаюсь сделать выше? Я уверен, что есть!
Я использую eclipse CDT на Ubuntu 12.04 и компилятор g ++ - 4.6, если это имеет значение.
Ваши случаи проваливаются! –
попробуйте использовать абсолютные пути, только для теста. Если все в порядке с абсолютными путями, чем вы знаете, что ваши относительные пути неверны (путь должен быть относительно exe) – Martinsos
Спасибо, ребята, используя абсолютные пути. Кроме того, я нашел этот поток: http://stackoverflow.com/questions/7276164/how-to-access-a-text-file-while-debugging-with-eclipse-cdt, который помог. Не знал, что каталог верхнего уровня был рабочим каталогом в eclipse – naxchange