Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
#1

Ошибка при попытке открытия файла - C++

17.08.2015, 13:26. Просмотров 310. Ответов 7
Метки нет (Все метки)

Добрый день. При выполнении функции открытия файла F.open(adr,ios::in) по несуществующему адресу программу выбивает при этом появляется окно с сообщением об ошибке:


Вроде бы функция open должна возвращать сообщение в случае неудачи. Как избежать таких некорректных явлений при выполнении программы?
http://www.cyberforum.ru/cpp-beginners/thread1921140.html

Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    
        adr = "M:\\fakeFile";
        bool bFileExist;
        ifstream F;
    F.open(adr,ios::in);
    if (F){
                  bFileExist = true;
        }
        else{
                 bFileExist = false;
               }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2015, 13:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка при попытке открытия файла (C++):

При попытке чтения ini файла возникает ошибка
При выполнении программы возникает ошибка, как ее исправить? #include...

Ошибка "Access violation..." при попытке отсортировать структуру из файла быстрым методом
Собстно ошибко "Project '...' raised exception class EAccessViolation with...

Ошибка открытия файла
пытаюсь загрузить файл из текущей папки. выводится такая ошибка ‘myfile’...

Ошибка открытия файла через ifstream
Помогите неопытному программисту. Нужно считывать содержимое файла используя...

Добиться, чтобы была ошибка открытия файла (файловый ввод/вывод)
Здравствуйте! Вот небольшая прога которая по идее должна ждать пока файл не...

7
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
17.08.2015, 13:43 #2
Обнови сообщения об ошибках, или тут их покажи без ссылок
0
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
17.08.2015, 13:54  [ТС] #3
Сообщение об ошибке:
0
Миниатюры
Ошибка при попытке открытия файла  
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
17.08.2015, 13:55 #4
else{
bFileExist = false;
::MessageBox(NULL,"Неверный путь","Message",MB_OK);
}
в принципе оно и так тебе ясно сказало, нет такого диска в системе))
0
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
17.08.2015, 14:02  [ТС] #5
else{
bFileExist = false;
::MessageBox(NULL,"Неверный путь","Message",MB_OK);
}
в принципе оно и так тебе ясно сказало, нет такого диска в системе))
Только у меня выполнение до конструкции if не доходит, выбивает всю программу на 5 строке (F.open(adr,ios::in))
0
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
17.08.2015, 14:06 #6
Тогда сделай так
C++
1
2
3
4
5
6
7
8
9
if((F.open(adr,ios::in))!=NULL)
 {
 bFileExist = true;
        }
        else{
                 bFileExist = false;
                 ::MessageBox(NULL,"Неверный путь","Message",MB_OK);
               }
    }
0
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
17.08.2015, 14:44  [ТС] #7
Тогда сделай так
C++
1
2
3
4
5
6
7
8
if((F.open(adr,ios::in))!=NULL)
{
bFileExist = true;
}
else{
bFileExist = false;
::MessageBox(NULL,"Неверный путь","Message",MB_OK);
}
}
Так что то не получается, получаю ошибку: error C2120: 'void' illegal with all types
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(void)
{
    char *adr = "H:\\TEST";
    ifstream F;
    if ((F.open(adr,ios::in))!=NULL){
        cout << "Succesful"<<endl;
    }
    else{
        cout << "Error"<<endl;
    }
  return 0;
}
ошибка: main.cpp(5) : error C2120: 'void' illegal with all types
0
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
17.08.2015, 15:07 #8
Убери void c int main()
0
17.08.2015, 15:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2015, 15:07
Привет! Вот еще темы с решениями:

Ошибка при попытке удаления указателя
Программа работает,но при попытке выйти из нее по условию,вылетает ошибка.Если...

Ошибка при попытке создания шаблона
В чём ошибка? Функции Map::isGardenWithoutWallFlag, Map::setNothing,...

Программа вылетает при попытке чтения из файла в переменную
Вот код #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; #include...

Ошибка при попытке подключить внешнюю библиотеку
Делал всё по инструкции, только пути другие. Пишет: Гуглёж не помог....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru