注册 登录
编程论坛 C++教室

Strcpy和Strncpy的区别

zhanghang123 发布于 2010-10-25 09:27, 1241 次点击
在学习C++中,经常遇到Strcpy和Strncpy,两个都是拷贝函数,谁能帮我解释一下二者的区别?
7 回复
#2
ciweitou1632010-10-25 11:35
两个都是把from的值复制到to
/*
最大限度的把from的值复制到to,如果from的字符少于count,就会用‘\0’来填补
*/
char *strncpy( char *to, const char *from, size_t count );


/*不进行边界检测,这样很容易造成from或to的溢出 */
char *strcpy( char *to, const char *from );
#3
m21wo2010-10-25 16:45
strncpy带3个参数指定了长度,strcpy带2个参数没指明复制的长度
#4
2010-10-27 14:09
建议用strncpy     在VS2005以后  如果你用strcpy拷贝字符串的会  编译器会给个警告的  


strncpy  有个长度的参数   这样以免字符串越界
#5
pangding2010-10-27 18:40
嗯,上面的已经说得很清楚了~
#6
小葳的宝宝2010-10-28 22:54
学习了!!
#7
青青子惊2010-10-30 19:41
其实本来我没看到过strncpy但是看到了n我懂了
#8
ljt2010-10-30 20:34
回复 3楼 m21wo
strcpy也有带三个参数的哦,上次我在论坛上看到的,MSDN上面都是两个参数。
1