Ошибка 1 error C4996: 'fopen': This function or variable may be unsafe - C (СИ)

Узнай цену своей работы

Формулировка задачи:

есть такой код:
// Лабораторная №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. 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 всё работает без проблем

Решение задачи: «Ошибка 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;
}

Объяснение кода листинга программы

  1. Объявлена переменная N со значением 80.
  2. Объявлен указатель на файл f.
  3. В функции main инициализируется массив arr с помощью строки литерала.
  4. Вызывается функция fopen_s, которая открывает файл с помощью параметра f.
  5. Если файл успешно открыт, то начинается чтение файла с помощью цикла while.
  6. В каждой итерации цикла в переменную arr записывается строка из файла до символа новой строки.
  7. Записанная строка выводится на экран с помощью функции printf.
  8. После окончания чтения файла вызывается функция fclose, которая закрывает файл.
  9. Возвращается 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5