Mac OS X和Linux中的安全字符串函数

Mac OS X和Linux中的安全字符串函数,第1张

Mac OS X和Linux中的安全字符串函数

有两种安全的字符串 *** 作策略。Linux /
glibc维护者拒绝添加安全的功能,理由是您应该掌握字符串的长度并加以使用

memcpy

另一方面,Mac
OSX包含

strlcpy
strlcat
来自BSD。
snprintf
asprintf
可以在两个平台上使用,效果几乎相同:

size_t strlcpy(char *d, char const *s, size_t n){    return snprintf(d, n, "%s", s);}size_t strlcat(char *d, char const *s, size_t n){    return snprintf(d, n, "%s%s", d, s);}

您也可以考虑使用此处找到的BSD实现。如果您的代码将在多个平台上编译,则可以使用预定义的库宏测试是否存在glibc

#if defined __GNU_LIBRARY__ || defined __GLIBC__    size_t strlcpy(char *, char const *, size_t);    size_t strlcat(char *, char const *, size_t);#endif

使用

iconv
界面最容易处理字符编码之间的转换。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4915590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存