C++函数 strcpy可只复制字符串的前若干个字符不?
谭浩强的C++书上说:可以用srecpy函数讲一个字符串中前若干个字符复制到字符数组中去。如strcpy(str1,str2,2)作用是把STR2中前面两个字符复制到ST...
谭浩强的C++书上说:
可以用srecpy函数讲一个字符串中前若干个字符复制到字符数组中去。如strcpy(str1,str2,2)作用是把STR2中前面两个字符复制到STR1中去,然后再加一个'/0'
但是我编译却说:error C2660: 'strcpy' : function does not take 3 parameters(不能是3个变量)
难道书上错了?要实现这个功能怎么做? 展开
可以用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);
}
将串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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询