Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как проверить валидность указателя? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ что такое "адаптивный параллелизм"? http://www.cyberforum.ru/cpp-beginners/thread1010534.html
сабж! в гугле ответа не нашел, в яндексе так же! может кто на пальцах объяснить? код писать не нужно!
C++ За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. Понимаю, что оффтоп, но задача для острого программерского ума. Олимпиадная задача для 7 класса, условие: Есть 5 монет. 4 из них по 5 грамм, пятая - неизвестно (либо больше, либо меньше пяти -... http://www.cyberforum.ru/cpp-beginners/thread1010526.html
не понимаю ошибку C++
Написать программу, решающую задачу линейного поиска элемента в заданном вещественном массиве. _____ при вводе единицы выводит 0, а при других значениях ''no" #include <iostream> #include...
Вывести максимальное и минимальное значение из массива C++
дайте примеры!!!:cry:
C++ Подправьте прогу( сортировка массивов) http://www.cyberforum.ru/cpp-beginners/thread1010512.html
Подправьте прогу пожалуйста, проверьте на ошибки и добавьте нужные cout, cin, чтоб выводило результаты на консоль.(Задание: Дан массив случайных чисел. Отсортировать его обменом. Написать...
C++ Как добавить элемент структуры с использованием #include <vector> ? #include <vector> #include <iostream> using namespace std; struct Item { int n; }; подробнее

Показать сообщение отдельно
Max Dark
шКодер самоучка
1849 / 1649 / 603
Регистрация: 09.10.2013
Сообщений: 3,676
Записей в блоге: 6
Завершенные тесты: 2
18.11.2013, 01:09
вы просто немного перепутали библиотеки и типы)

при открытии сравнение с NULL надо производить если использован тип FILE* из <stdio.h>
там действительно возращается NULL в случае ошибки

но вы используете объект класса std::ifstream из <fstream>
в данном случае проверка открытия производится с помощью std::ifstream::is_open()
в вашем случае нужно так
C++
1
2
3
if(!FILE1.is_open()) {
// обработка ошибки
}
при использовании std::ifstream проверку на NULL надо производить только при динамическом создании объекта этого класса
C++
1
2
3
4
std::ifstream* f = new std::fstream;
if(f == NULL) {
///
}
но это будет уже связано с нехваткой памяти, а не с ошибкой открытия файла
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru