250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[C++] Error C4996 : 'strcpy', 'strcat' 오류에 대해서 본문

[Snow-ball]프로그래밍(컴퓨터)/C, C++

[C++] Error C4996 : 'strcpy', 'strcat' 오류에 대해서

Snow-ball 2020. 11. 8. 10:22
반응형

C++를 하다보면 여러가지 오류가 발생하게 됩니다. 그 중에서도 자주 볼 수 있는 Eroor C4996 : strcpy와 strcat 오류에 대해서 알아보겠습니다.

 

작성하다보면

삼각도안의 !가 들어가있는 오류가 발생합니다.
오류 C4996 'strcpy' : This function or variable may be unsafe. Consider using strcpy_s intead. To disable deprecation, us _CRT_SECURE_NO_WARNINGS. See online hele of details.
결국은 이 함수 또는 변수는 안전하지 않을 수 있으니, strcpy_s 사용하거나 오류가 뜨지않을려면_CRT_SECURE_NO_WARNINings를 사용하세요. 정도로 해석이 가능할듯 합니다.

Visual Studio의 버전에 따라 달라질 수 있지만, 최신의 버전들에서는 Scanf, Strcpy, Fopen 등의 함수를 사용할 때 주로 발생하는 오류들입니다.

 

해결하는 방법3가지 정도로 볼수 있습니다.

 

 

 

1. strcpy 대신 strcpy_s를 사용하면 됩니다.

- 위에 설명대로 오류 목록의 설명을 따라서 strcpy 대신에 strcpy_s를 적용해주면 오류는 자연스럽게 사라지죠. 하지만, Waring(경고) 메시지는 나타납니다.

 

2. #define _CRT_SECURE_NO_WARNINGS로 안정성과 보안에 대한 경고를 무시하는 정의와 선언을 해버려도 됩니다.

- 방법은 코드창에 #define _CRT_SECURE_NO_WARNINGS 을 선업합니다. 

 

또는 Visucal Studio > 프로젝트 > 프로젝트 속성(p) > 카테고리에서 C/C++ 선택 > 전처리기> 전처리기 정의 > 편집... 선택 > _CRT_SECURE_NO_WARNINGS 입력 후 확인 을 하면 됩니다.

 

3. #pragma warning(disable:4996)을 선언합니다.

- #pragma warning(disable:4996)을 선언하면 c4996에러를 무시하게 됩니다.

 

 

 

 

 

 

인테리어소품 베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

 

반응형
Comments