C++에서 fopen 함수를 사용하려면 에러가 난다.
이때, 이 에러를 해결하는 방법은 두 가지가 있다.
1. fopen을 사용하되, 두 가지를 추가해준다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
파일에 위 두 가지를 추가해주면 에러가 더 이상 발생하지 않는다.
2. fopen_s를 사용한다.
fopen보다 fopen_s이 보안상 더 좋기 때문에 fopen 대신 fopen_s를 사용하면 에러가 발생하지 않는다.
참고로, fopen은 파일 포인터에 직접 받지만 fopen_s는 파일포인터의 주소를 함수를 통해 간접적으로 받는다.
예제는 다음과 같다.
FILE *fp;
// fopen
fp = fopen("file.txt", "r");
// fopen_s
fopen_s(&fp, "file.txt", "r");
'내가 보려고 만드는 > C++' 카테고리의 다른 글
[C++] 예외 발생(0x00007FF6103C2EB8, hw5.exe): 0xC0000005: 0x000000DD5E800000 위치를 기록하는 동안 액세스 위반이 발생했습니다. (0) | 2021.05.23 |
---|---|
[C/C++] char* -> int 변환 (문자열->정수 변환) (0) | 2021.05.23 |
[C++] random 함수 (0) | 2021.05.09 |
[C++] 구조체 동적 할당 (0) | 2021.05.09 |
[c++] 버퍼 비우기 (0) | 2021.03.19 |