2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение23.03.2009, 17:12 
Заслуженный участник


15/05/05
3445
USA
Spook писал(а):
Так вот я и спрашивал, мб ли случится такое, что вместо имени файла передастся NULL? Я в общем-то добавил еще одну строчку кода для проверки на NULL, просто почему-то кажется, что она излишняя.

Это зависит от назначения и алгоритма модуля.
- Если это функция, которой имя файла передается как параметр, то проверка нужна.
- Если это программа, в которой имя файла берется из статически выделяемого буфера, то проверка не нужна.
- Если это программа, в которой память под имя файла выделяется динамически, то проверка нужна.
- ...
- Если сомневаетесь, оставьте проверку. Хуже не будет, да и дольше тоже, если только Вы не открываете 1000000 файлов.

 Профиль  
                  
 
 
Сообщение23.03.2009, 23:53 
Аватара пользователя


23/01/08
565
Ну у меня функция main() как бы принимает имя файла (то есть тут NULL не может быть). А потом передает его функции чтения (вот здесь наверное может быть). Значит, оставлю я проверку, пусть будет. Тем более, что файлов открывается только парочка. Спасибо за информацию.

 Профиль  
                  
 
 
Сообщение24.03.2009, 17:03 
Заслуженный участник


15/05/05
3445
USA
Spook писал(а):
Ну у меня функция main() как бы принимает имя файла (то есть тут NULL не может быть). А потом передает его функции чтения (вот здесь наверное может быть)...

В такой ситуации нужна проверка на правильность параметров, получаемых main(). Как минимум - задан ли нужный аргумент.
Если Ваша функция вызывается только таким способом, то проверка внутри функции не обязательна. Другое дело, если эта функция может быть в дальнейшем использована в другом контексте.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group