warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead.
문자열 관련 이와 같은 경고는 다음 두 단계를 거처서 처리한다.
- sprintf()를 sprintf_s()로 수정하여 빌드한다.
다행히 첫 번째 인수가 배열이면, 정상적으로 빌드가 된다.
char szFileName[_MAX_PATH];
sprintf_s(szFileName,"%s", ...);
- 문제는 문자열 포인터의 경우 빌드 오류가 발생한다.
이럴 경우, 문자열 포인터가 가리키는 버퍼의 크기를 명시해 준다.
char* pszFileName;
pszFileName new char[_MAX_PATH];
sprintf_s(pszFileName, _MAX_PATH, "%s", ...);
여기에 해당하는 함수로
strcpy_s(), strncpy_s(), strcat_s(), _itoa_s()등이 있다.
0 댓글