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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sinad
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
#1

Выдается ошибка на fopen - C++

20.03.2014, 22:16. Просмотров 1453. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include "stdafx.h"
using namespace std;
 
int main()
{
 
    int k;
    FILE *inf = fopen("testt.dat", "r");
    fscanf(inf, "%d", &k);
 
    cout << k << endl;
    fclose(inf);
    system("pause");
    return 0;
}
выдает ошибку:
Error 1 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\projects\cpp\....

Компилятор VS 2013, на Dev 5.4.2 работает нормально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 22:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выдается ошибка на fopen (C++):

При постоении решения выдается ошибка - C++
Открываю проект, жму F5 выдается ряд ошибок: 1&gt;C:\Program Files...

Подскажите почему выдается ошибка компиляции - C++
#include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello there.\n&quot;; cout &lt;&lt; &quot;Here is 5: &quot; &lt;&lt; 5 &lt;&lt; &quot;\n&quot;; cout...

При отладке выдается ошибка сегментации - C++
Всем привет! :) У меня такая проблема: программа по численным методам (кусок кода - дифференциальная прогонка), pu - массив 101 на 101,...

Выдается ошибка в std при использовании оператора for - C++
Написал программу с использованием оператора for на С++. Вот код: # include &lt;iosteam&gt; int main () { int sum = 0; for...

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

При вызове деструктора выдается ошибка _BLOCK_TYPE_IS_VALID (pHead->nBlockUse) - C++
Вопрос на форуме поднимался раз 100, но все равно не могу понять в чем проблема. Знаю, что искать нужно в setSpace() и getFlat(). Но что...

5
TrueBit
96 / 96 / 12
Регистрация: 19.11.2012
Сообщений: 195
20.03.2014, 22:32 #2
Попробуйте перед началом программы добавить строчку:
C++
1
#define _CRT_SECURE_NO_WARNINGS
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include "stdafx.h"
using namespace std;
 
int main()
{
 
    int k;
    FILE *inf = fopen("testt.dat", "r");
    fscanf(inf, "%d", &k);
 
    cout << k << endl;
    fclose(inf);
    system("pause");
    return 0;
}
0
alsav22
5436 / 4831 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.03.2014, 22:52 #3
Ошибка в SCANF
0
go
Эксперт С++
3587 / 1367 / 130
Регистрация: 16.04.2009
Сообщений: 4,527
20.03.2014, 23:49 #4

Не по теме:

Цитата Сообщение от Sinad Посмотреть сообщение
Error 1 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\projects\cpp\....
Самое главное, что почти на русском написано!

TrueBit, не уверен, что это хорошее решение.
0
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
21.03.2014, 01:05 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream inf;
    inf.open("test.dat");
    int k;
    inf>>k;
    cout << k << endl;
    inf.close();
    system("pause");
    return 0;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9970 / 5893 / 997
Регистрация: 25.07.2009
Сообщений: 11,166
21.03.2014, 01:15 #6
Цитата Сообщение от go Посмотреть сообщение
не уверен, что это хорошее решение
Не, на эту мелкософтовскую параною можно внимание не обращать, а вот проверять результаты операций ввода/вывода - прям-таки залог успеха. С - стиль
C
1
2
3
4
5
6
7
FILE *inf = fopen("testt.dat", "r");
if ( ! inf ) {
        /* файл не открылся, выругаться, выйти. */
}
if ( fscanf(inf, "%d", &k) != 1 ) {
    /* число не прочиталось */
}
В С++ можно всю возню с открытием + чтением файла в try/catch завернуть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2014, 01:15
Привет! Вот еще темы с ответами:

При компилировании выдается ошибка 'float fraction::numerator' is private - C++
При попытке скомпилировать код выдает 'float fraction::numerator' is private| То есть при перемещении float numerator; и float...

2012 strtok не работает и выдается ошибка, что требуется strtok_s - C++
Проблема в том, что в 2012-ом strtok не работает и выдается ошибка типо нужно strtok_s. Ввожу strtok_s, а это уже абсолютно другая функция,...

Ошибка при работе с файлами: C4996: 'fopen': This function or variable may be unsafe - C++
Помогите пожалуйста. писал программу, по данному заданию. вроде как все написал, но с файлами получился косяк. не могу разобраться в чем...

Выдается ошибка при компиляции (error C2447: missing function header (old-style formal list?)) - C++
не работает программа, выдает ошибку C:\Program Files\Microsoft Visual Studio\MyProjects\564356765456\cfvb n.cpp(6) : error C2447:...


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

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

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