关于SSMALL平台的问题

SSMALL是一个什么样的平台? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。2被浏览495分享邀请回答赞同 1 条评论分享收藏感谢收起Sina Visitor SystemSSMALL黄金商城业务!【ssmall商城吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:8贴子:
SSMALL黄金商城业务!
SSMALL作为凯远集团旗下电子商务平台,主要业务提供黄金、白银及其制品批发、零售、回收、仓储、租赁等。
贴吧热议榜
使用签名档&&
保存至快速回贴C中strcpy_s出现“buffer is too small …… ”问题
在VC2005之后,使用字符串拷贝函数strcpy会提示该函数不安全,将来会被抛弃类似这样的信息。所以一般都会改用
strcpy_s函数代替。
有时会出现这样的提示错误:“buffer is too small …… ”
代码示例:
char *str = "abcd"
char *des = new char [strlen(str)+1)];
strcpy_s(des,strlen(str),str);//提示错误……buffer is too small
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
问题在于自己之前对函数的第二个参数理解有偏差。即size是谁的大小?
这个大小显然不能是目的空间的容纳大小,但是要满足 size &= size(dest);
这个大小也不能小于源内容的大小(上面示例即证明)。
因此这个大小应该是不小于源内容的大小(包括字符串的结束字符)。即 size(src) &= size &= size(dest)
经过试验:如果size超过了dest的空间大小,并不会提示debug错误信息。如果小于src空间大小 则会提示上述的错误。
strlen(...)该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。
strcpy_s(str2, sizeof(str1)+1, str1);
strcpy_s(str2,
strlen(str2), str1);
strcpy_s(str2, sizeof(str2), str1);
以上均会出现如下的错误
只有strcpy_s(str2, strlen(str1)+1, str1);这种才可以正常运行
strlen() 不包括'\0',所以应该加1。
没有更多推荐了,SSMALL是一个什么样的平台? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。2被浏览495分享邀请回答赞同 添加评论分享收藏感谢收起赞同 1 条评论分享收藏感谢收起写回答}

我要回帖

更多关于 S健康 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信