查找msdn就知道
strcpy_s的数据是三个如下
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
而strcpy为两个
errno_t strcpy(
char (&strDestination)[size],
const char *strSource
); // C++ only
一般的用法大家都知道了。我在这里说一个一般都不会注意的问题。那就是
strcpy_s中的size_t numberOfElements这个参数。
每个人的写法都是这样写的
char str[25]={0};
strcpy_s(str,sizeof(str),"hello world");
这样写,其实和
strcpy(str,
"hello world");
这样写,是不一样的。结果看如下
看到了吧,这里就是区别,稍微一不注意,会给自己挖个坑的。