c语言 strcpy 函数的使用

#include<string.h>
main()
{
char m1[20],m2[]="Hello Human";
strcpy(m1,m2,5);
puts(m1);
}

错误出在strcpy(m1,m2,5);中的数字5。
strcpy函数不是可以这样拷贝m2的吗?
恩,找到了,是strncpy.谢谢各位了。

晕死,strcpy()中只有两个参数,那就是两个字符串,没有3个参数
直接用strcpy(m1,m2)就可以了,程序会自动帮你完成的
#include<string.h>
main()
{
char m1[20],m2[]="Hello Human";
strcpy(m1,m2);
puts(m1);
}追问

我的目的是想提取m2中的前5个字符"hello",但不知道哪里缺了。

追答

那个函数好象是strncpy()吧
#include
main()
{
char m1[20],m2[]="Hello Human";
strncpy(m1,m2,5);
m1[5]='\0';\\这步也是必要的,你能明白吗
puts(m1);
}

追问

m1[5]='\0';这步不太清楚。能不能解释下?麻烦了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-07
strcpy(m1,m2,5);
需要指出拷贝个数的函数好像是strcpyn()
相似回答