wcscpy_s
함수에 문제가 있습니다. wcscpy_s
뒤에 my 함수의 매개 변수 (stringOne
및 stringTwo
)를 읽을 수 없습니다. 다음은 간단한 데모로 문제를 보여줍니다.wcscpy_s 뒤에 문자열의 읽는 중 오류가 발생했습니다.
void testFunc(LPCWSTR stringOne, LPCWSTR stringTwo) {
wchar_t* defaultVal = L"Default";
wchar_t tmp[100];
int lenBefore = wcslen(stringOne); // Works
auto result = wcscpy_s(tmp, sizeof(tmp), defaultVal);
int len = wcslen(tmp);
int len2 = wcslen(stringOne); // Throws Exception Access violation
}
int main() {
testFunc(L"Test", L"Test");
}
하나의 문제점은 'sizeof (tmp)'는 크기를 * bytes *로 지정하지만 배열의 * 요소 * 수이어야한다는 것입니다. 예 : [이 'wcscpy_s' 참조] (https://msdn.microsoft.com/en-us/library/td1esda9.aspx). –