Fstream не открывает файл
Я пытаюсь открыть файл для чтения:
cout << file_path << endl;
fstream myfile(file_path.c_str(), std::ios_base::in);
if (myfile.is_open())
cout << "Yahhy!! file Opend successfully" << endl;
else
cout << "Wohoo!! Wrong path" << endl;
Выход:
/home/umar/Desktop/DateFile/dha_dataset.gfp
Wohoo!! Wrong path
Путь правильный - файл существует, но файл не открывается. Проблема в моем коде или в другом месте?
Я работаю в Ubuntu.
1 ответ
Решение
Синтаксис выглядит правильно, что оставляет два варианта:
Либо файл не существует, либо у вас нет разрешения на чтение.
Чтобы проверить оба, выполните следующую команду из терминала:
ls -l /home/umar/Desktop/DateFile/dha_dataset.gfp
Посмотрите на результаты, они должны выглядеть примерно так:
ls: cannot access /home/umar/Desktop/DateFile/dha_dataset.gfp: No such file or directory
или же:
-rw-rw-rw xxx yyy 1025 Oct 9 2013 dha_dataset.gfp
Первый результат означает, что путь неверен.
Второй результат означает, что путь правильный, поэтому посмотрите на разрешения. Если у вас нет разрешения на чтение... (один из r
s) тогда вы не сможете открыть файл.