对 strcpy_s 若干测试

今天发现如果strcpy这函数,目标buffer太小,会有意想不到的崩溃。而且不容易调试。以后尽量要用strcpy_s了。

strcpy_s是strcpy的更安全的版本

1.当目标字符串参数是一个字符串数组时可以不要numberOfElements这个参数,例如:

    char  szBuf[50];
    strcpy_s(szBuf,50,"dfassfasfasfsf");
strcpy_s(szBuf,"dfassfasfasfsf"); //也正确

如果目标字符串参数是一个字符指针,则必须要numberOfElements这个参数

    char * szBuf = new char[50];
    strcpy_s(szBuf,"dfassfasfasfsf"); // error C2660: “strcpy_s”: 函数不接受 2 个参数
    strcpy_s(szBuf,50,"adsfsadfsf"); //正确

 

posted @ 2015-05-01 23:12  瓜蛋  阅读(532)  评论(0编辑  收藏  举报