Fstream не открывает файл

0

Я пытаюсь открыть файл для чтения:

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.

Теги:
file-handling

1 ответ

3
Лучший ответ

Синтаксис выглядит корректно, что оставляет два варианта:

Либо файл не существует, либо у вас нет разрешения на чтение.

Чтобы проверить, выполняются ли с терминала следующие команды:

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), вы не сможете открыть файл.

  • 0
    я сделал то, что вы сказали, я запутался с ответом. Проверьте это umar @ umar-Machine: ~ / Desktop / DateFile $ ls -l /home/umar/Desktop/DateFile/dha_dataset.gfp ls: невозможно получить доступ / home / umar / Desktop / DateFile / dha_dataset.gfp: нет такого файла или каталога umar @ umar-Machine: ~ / Desktop / DateFile $ ls dha_dataset.gfp umar @ umar-Machine: ~ / Desktop / DateFile $ pwd / home / umar / Desktop / DateFile Умар @ Умар-машина: ~ / Desktop / DateFile $
  • 0
    пожалуйста, добавьте это к своему вопросу и отформатируйте его правильно! вот так это нечитаемо Похоже, либо файл не существует, либо нет разрешений;)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню