发布网友 发布时间:2022-04-23 21:15
共4个回答
热心网友 时间:2023-10-17 23:53
可以使用字符串拷贝函数 strncpy 函数
参考下面的代码吧,可运行。
#include "stdio.h"
#include "string.h"
void main()
{
char str1[20] = "wo shi zhong";
char str2[20] = "AAAAAA";
char dstr[100];
int len1 = strlen(str1);
int len2 = strlen(str2);
strncpy(dstr,str1,len1);
strncpy(&dstr[strlen(str1)],str2,len2);
dstr[len1+len2] = '\0';
printf(dstr);
}
热心网友 时间:2023-10-17 23:53
#include<string.h>
#include<stdio.h>
main()
{char a[100],b[100];
int k1,k2,i;
gets(a);gets(b);
k1=strlen(a);
k2=strlen(b);
for(i=k1;i<=k1+k2-1;i++)
a[i]=b[i-k1];
a[i]='\0';
puts(a);
getch();
}
热心网友 时间:2023-10-17 23:54
上面的都是高手,不过似乎有点麻烦。
如果是在vc++环境下,可以这么做。
CString AAA = "I";
CString BBB = "love you";
Cstring CCC;
CCC = AAA+BBB;
请多指教。
热心网友 时间:2023-10-17 23:54
上边那位同志的操作有些危险,还有错误。
函数的引数void *mystrcat(char* s1, char* s2)
第一个引数输入在函数外部 char *a="asdfasdf" 声明 编译通过但是运行会出现错误 (*a 指向的内容被视为是常量,不可改变)
或者 char a[]="ab",也会出错,(长度超限,运行时错误)
除非char a[100]="ab",2个字符串长度不超过100才会通过。
最好状态知道2个字符串长度,建立一个新字符串把2个字符串复制进去 如果不知道长度的情况,就应该用连表
最简单的状态,2个知道长度的字符串。
int main()
{
char *a="qwet",*b="woei";//2个4长度的字符串
char c[20]; //一个长度大于2字符串长度的的字符数组
int i,j;
for( i=0,j=0;*(a+i);i++ ,j++)//第一个字符串复制,到遇到结束标志停止
c[j]=*(a+i);
for(i=0 ; *(b+i);i++,j++ )//第二个字符串复制,到遇到结束标志停止
c[j]=*(b+i);
c[j]='\0'; //给字符数组加入结束标志
for( i=0 ; c[i] ;i++ )
printf("%c ",c[i]);
}