2012-09-20 2 views
1

В приложении MFC У меня есть кнопка просмотра файла. Когда я нажимаю на него и выбираю файл, файл загружается, и все в порядке.fopen() не работает после выбора файла из диалогового окна открытия файла в MFC

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

Может кто-нибудь сказать, почему это происходит.

+2

Можете ли вы поделиться кодом, пожалуйста. Трудно отлаживать вопрос и намного легче читать код. – Ram

+0

Несвязанный, но мне интересно, почему вы используете 'fopen' вместо' fstream'? –

+0

может быть чем-то простым, как проблема с разрешениями ... проверить errno для подсказок – mark

ответ

2

Возможно, вы укажете второй файл по относительному пути и после открытия первого файла с помощью диалога изменится рабочий каталог. Когда вы нажимаете Cancel, рабочий каталог не изменяется, и он работает.

Решение этой проблемы является, например, для указания этого второго файла с использованием полного, не относительного пути.

+0

Я пробовал использовать не относительный путь, но это работа. Вместо этого я использовал fsteam :: good, чтобы проверить, присутствует ли файл или нет, и его работоспособность. Я не знаю, что было не так с fopen, но fstream отлично работает. Anyways Спасибо Psur. – user1685827

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