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