念佛共修:C语言编程

来源:百度文库 编辑:高校问答 时间:2024/04/27 19:24:29
#include<string.h>
main()
{char a[10]={"China"},b[10]={"America"};
printf("\n%s",strcat(a,b,3));
}
想把b中前三个字母复制到a中但出错
error:Extra parameter in call to strcat in function main
请问为什么?谢谢!

要用strncat(x,y,n);是把前y里面的前n个字符放在x的结尾,注意x长度必须够才可以。
strcat(x,y)是把y整个放在x后面,只有两个参数。

还可以用sprintf()

sprintf(接收的字符串地址,"%.*s",复制及个开始复制的位置);
如你的程序中就写:
sprintf(a,"%.*s",3,b);
a[3]='\0';

strcat(a,b,3)); 要用strncat(a,b,3));

一楼二楼的说的对 你的函数写错了。
strncat(x,y,n);
strcat(x,y