Ошибка 1 error C4996: 'fopen': This function or variable may be unsafe - C (СИ)
Формулировка задачи:
есть такой код:
и выводится такая ошибка:
Ошибка 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:\prodgect\vs\projects\лабораторная №5\лабораторная №5\лабораторная №5.cpp 13
В CodeBlocks всё работает без проблем
Листинг программы
- // Лабораторная №5.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <stdlib.h>
- #define N 80
- FILE *stream;
- int main()
- {
- char arr[N];
- stream = fopen( "1.txt", "r" );
- while (fgets (arr, N, stream) != NULL)
- printf("%s", arr);
- fclose(stream);
- return 0;
- }
Решение задачи: «Ошибка 1 error C4996: 'fopen': This function or variable may be unsafe»
textual
Листинг программы
- // Лабораторная №5.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <stdlib.h>
- #define N 80
- FILE *f;
- int main()
- {
- char arr[N];
- fopen_s( &f, "1.txt", "r" );
- while (fgets (arr, N, f) != NULL)
- printf("%s\n", arr);
- fclose(f);
- return 0;
- }
Объяснение кода листинга программы
- Объявлена переменная
N
со значением 80. - Объявлен указатель на файл
f
. - В функции
main
инициализируется массивarr
с помощью строки литерала. - Вызывается функция
fopen_s
, которая открывает файл с помощью параметраf
. - Если файл успешно открыт, то начинается чтение файла с помощью цикла
while
. - В каждой итерации цикла в переменную
arr
записывается строка из файла до символа новой строки. - Записанная строка выводится на экран с помощью функции
printf
. - После окончания чтения файла вызывается функция
fclose
, которая закрывает файл. - Возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д