C++函数 strcpy可只复制字符串的前若干个字符不?

谭浩强的C++书上说:
可以用srecpy函数讲一个字符串中前若干个字符复制到字符数组中去。如strcpy(str1,str2,2)作用是把STR2中前面两个字符复制到STR1中去,然后再加一个'/0'
但是我编译却说:error C2660: 'strcpy' : function does not take 3 parameters(不能是3个变量)
难道书上错了?要实现这个功能怎么做?

strcpy(str1,str2)
将串2复制到串1,包括结束符\0一起复制

strncpy(str1,str2,n)
从串2严格复制不超过n个字节到串1.即当串2长度小于n时全复制串2,当串2长度大于等于n时,只复制n个字节,不会额外追加结束符\0

实例:
#include "stdio.h"
#include "string.h"
main()
{
char a[30],b[30]="0123456789";
strncpy(a,b,5);
puts(a);
a[5]=0;
puts(a);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-28
strcpy(str1,str2)
把2去掉~~~他的参数只是两个
这是C语言的字符函数
C++还是用string吧比他好多了
第2个回答  2008-07-28
函数不是这个啊 是 strncpy 你少了个N
相似回答