Chinaunix

标题: Linux下是否有Windows的strsafe.h类似的函数 [打印本页]

作者: donotgiveup    时间: 2011-10-19 16:51
标题: Linux下是否有Windows的strsafe.h类似的函数
strncpy这些不会自动不零,没有微软提供的安全字符串函数那么好。




求教!谢谢!
作者: donotgiveup    时间: 2011-10-19 16:52
strncpy截断时不会自动补0
作者: Godbach    时间: 2011-10-19 17:03
回复 1# donotgiveup
唉,这多简单啊。
先把要 copy 的目标缓存清零,然后 copy 不就成了。
作者: donotgiveup    时间: 2011-10-19 17:11
主要是自己不想写。。。
quote:先把要 copy 的目标缓存清零,然后 copy 不就成了。(这样不行)
例如下面的:
int main()
{
        int usr;
        char a[5] = "hel";
        char b[8] = "lo!!!";
        memset(a, 0, 5);
        strncpy(a, b, 5);

        printf("%s\n", a);
        return 0;
}
输出:lo!!!烫烫烫烫烫
作者: Godbach    时间: 2011-10-19 17:22
回复 4# donotgiveup
有些概念你没有搞懂吧。

你这里 a 如果相当成字符串,那么就要保证其结尾处有个 '\0'

如果就是简单的数组的话,那么没有必要使用 %s 打印。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2