- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道,在从源字符数组复制到目标字符数组(我们希望目标以 null 结尾)时,strlcpy
比 strncpy
更安全,下面的包装可以吗?
size_t strlcpy(char *dst, const char *src, size_t size) {
if (size != 0) {
int maxSize = size - 1;
int currSize = -1;
while ((++currSize < maxSize) && (*dst++ = *src++));
*dst = 0;
return currSize;
}
return 0;
}
请评论。
最佳答案
检查 size
是否大于零是有误导性的,因为 size_t
是无符号的。更具可读性的检查是 if (size != 0) ...
另一个问题是,strncpy
将其目的地用零填充到 s
,而 strlcpy
则不会这样做。如果您想匹配 strlcpy
的行为,请在不可用的系统上编写您自己的实现,而不是依赖 strncpy
。
关于c - 在没有 strlcpy 的平台上,strlcpy 相当于 strncpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42971120/
我正在尝试编写一个程序来列出网络上所有设备的 IP 地址。其主要组成部分之一是能够 ping 设备。这个程序必须在 Linux、Windows 和 Mac 上运行,所以我选择了 Boost 库。 我设
如果我使用 Google 的 Jquery 加载脚本链接,那么如果用户的缓存中已经有该文件,那么当页面加载时,用户计算机是否仍会以任何方式与 Google 联系? 例子: 最佳答案 根据浏览器的缓存
我想在我的 ruby 代码中 ping 一个站点,发现 net-ping 是一个很好的库来执行此操作。不幸的是,当我尝试 gem install net-ping 时出现以下错误: C:>gem
我有一个表(test_matches),其中记录了几场比赛的结果,按日期排序。 GHFT = 目标主队全职。GAFT = 全职客场进球队。 CREATE TABLE `test_matches` (
我正在使用 phing对于一个项目的一些自动构建过程,我想知道:我怎样才能通过电子邮件获得完整的日志? 当我通过命令行启动 phing 时,会显示构建日志;我想要它: 通过电子邮件发送, 给几个收件人
尝试根据 GF 和 GA 创建一个新列“Results”。想知道如何通过定义函数和条件语句来做到这一点。以下是我对一行的初步尝试,但无法弄清楚如何将其应用于所有行,非常感谢您的帮助! 日期地点对手GF
我是一名优秀的程序员,十分优秀!