StrSafe.h 使用安全字符串操作函数
2015-06-10 17:49
330 查看
const TCHAR P[] = _T("测试一下");
int nLen = sizeof(P)/sizeof(TCHAR); //5
int nLen1 = sizeof(P); // 10;
TCHAR szData[MAX_PATH] = { 0 };
TCHAR szData1[MAX_PATH] = { 0 };
int nLen2 = lstrlen(P); //4
//拷贝字节数
if (S_OK != StringCbCopy(szData,sizeof(P), P))
{
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"));
}
int nLen = sizeof(P)/sizeof(TCHAR); //5
int nLen1 = sizeof(P); // 10;
TCHAR szData[MAX_PATH] = { 0 };
TCHAR szData1[MAX_PATH] = { 0 };
int nLen2 = lstrlen(P); //4
//拷贝字节数
if (S_OK != StringCbCopy(szData,sizeof(P), P))
{
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"));
}
相关文章推荐
- JavaScript中清空数组的三种方式
- html DIV元素左右偏移方法,偏移后默认宽度仍浏览器宽度一致
- JQuery鼠标移到小图显示大图效果的方法
- js 继承
- JQuery采纳CSS实现DOM显示和隐藏要素
- 记一个发HTML格式邮件的问题
- HTML5 文字及图片标签解析
- JS操作DOM元素属性和方法(转)
- CSS计数器的趣味时光
- JavaScript 正则表达式上——基本语法
- jQuery 自动完成文本框
- nodejs supervisor
- javascript 全选 反选 js代码
- LIfeAsia国内的开发现象浅见
- js中substring和substr的用法
- JQuery实现超链接鼠标提示效果的方法
- HTML小技巧
- JS操作select下拉框动态变动(创建/删除/获取)
- CSS代码缩写
- JsJquery小技巧