Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> компилятор ругается, c4996: 'fopen' was declared deprecated 
:(
    Опции темы
Andrej78
Дата 26.9.2007, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 9.10.2006

Репутация: нет
Всего: нет



Код


int ReadOMGFile(char *sstr)    //функция читает файл омеги
{
    //char str[80];
    FILE *fp;
    if((fp=fopen(sstr,"r"))==NULL){
        printf("error at open file.\n");
        fclose(fp);
        return 0;
    }
    fclose(fp);
    return 1;
}


почему-то компилятор стал ругаться что мол:

c:\main_control.cpp(54) : warning C4996: 'fopen' was declared deprecated
1>        c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
1>        Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'

если добавляю _CRT_SECURE_NO_DEPRECATE; тож ворчит:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

причем раньше всё без проблем компилировалось... подскажите плз в чем ошибка?
PM MAIL   Вверх
WERITAS
Дата 26.9.2007, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 2.5.2005
Где: Москва

Репутация: нет
Всего: 5



Хм, и по-моему мнению, эта функция ничего не читает,  а только открывает и закрывает файл.
Переведите:
Цитата

This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.

И сами поймете это

В 7 версии VS начали снимать поддержку старых std-функций, давая взамен *_s - безопасные версии. А вы, уважаемый, просто задефайнили _CRT_SECURE_NO_DEPRECATE



--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
Andrej78
Дата 26.9.2007, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 9.10.2006

Репутация: нет
Всего: нет



ясно, спасибо. 
исправил код на новый, заработало.
сейчас функция действительно пока еще ничего не читает.

Код

FILE *stream;
errno_t err;
if( (err  = fopen_s( &stream, sstr, "r" )) !=0 ) return 2;
else return 1;


PM MAIL   Вверх
archimed7592
Дата 26.9.2007, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Andrej78 @  26.9.2007,  08:26 Найти цитируемый пост)
если добавляю _CRT_SECURE_NO_DEPRECATE; тож ворчит:

нужно #define _CRT_SECURE_NO_DEPRECATE


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
nerezus
Дата 26.9.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Код

#ifdef _WIN32
#pragma warning (disable:4786) // FUCK these stuppid bastards !!!
#endif
 © один препод из мгу по графике
осталось заменить циферку

Цитата

undefined reference to `fopen_s'
 А где оно лежит то? )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
comcon1
Дата 26.9.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Не в ответ, но по сабжу: g++ ругается варнингами на всякие fopen-ы, когда вместо cstdio подключаешь stdio.h


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1178 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.