int nLen = sizeof(P)/sizeof(TCHAR); //5
int nLen1 = sizeof(P); // 10;
TCHAR szData[MAX_PATH] = { 0 };
TCHAR szData1[MAX_PATH] = { 0 };
//拷貝字節數
{
OutputDebugString(_T("copy failed\n"));
}
//拷貝字符數
if (S_OK != StringCchCopy(szData1, _countof(P), P))
{
OutputDebugString(_T("copy failed\n"));
}
//////////////////////////////////////////////////////////////
_tcscpy_s失敗時,debug彈出異常對話框。
可以自定義錯誤處理
1、。在應用程序開頭的地方調用_CrtSetReportMode(_CRT_ASSERT, 0);,禁止可能由C運行時觸發的所有Debug Assertion Failed對話框。
2、自定義處理函數
void invalid_parameter_handler(
wchar_t const* exception,
wchar_t const* function,
wchar_t const* file,
unsigned int line,
uintptr_t
)
{
OutputDebugString(_T("error"));
}
void TestInvalidParameter()
{
_set_invalid_parameter_handler(invalid_parameter_handler);
test();
}
void test()
{
TCHAR szBefore[5] = {
TEXT('B'), TEXT('B'), TEXT('B'), TEXT('B'), '\0'
};
TCHAR szBuffer[10] = {
TEXT('-'), TEXT('-'), TEXT('-'), TEXT('-'), TEXT('-'),
TEXT('-'), TEXT('-'), TEXT('-'), TEXT('-'), '\0'
};
TCHAR szAfter[5] = {
TEXT('A'), TEXT('A'), TEXT('A'), TEXT('A'), '\0'
};
errno_t result = _tcscpy_s(szBuffer, _countof(szBuffer),TEXT("0123456789"));
}