Ошибка 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, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д