c语言合并字符串库函数 c语言如何实现字符串合并

C语言:编写一个函数,将两个字符串合并到另一个字符串中?

#include stdio.h

创新互联公司是一家专业提供肇东企业网站建设,专注与成都做网站、网站建设、外贸营销网站建设H5网站设计、小程序制作等业务。10年已为肇东众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

#include string.h

void catstring(char *str0, int len0, char *str1, int len1, char *str2, int len2)

{

if (len2 = len0 + len1) {

return;

}

memcpy(str2, str0, len0);

memcpy(str2 + len0, str1, len1);

}

int main()

{

char str0[20] = "Golden";

char str1[20] = "View";

char str2[20] = { 0 };

catstring(str0, strlen(str0), str1, strlen(str1), str2, 20);

printf("str2 = %s\n", str2);

return 0;

}

请采纳,谢谢!

C语言怎么合并两个字符串?

代码:

char str1="123";

char str2="abc";

strcat(str1,str2);

printf("%s",str1);

例如:

#include stdio.h

#include string.h

main()

{

char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";

strcat(strSor,strDes);//链接

puts(strDes);

puts(strSor);

}

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

c语言如何合并两个字符串

如果是C语言,有一个函数是strcat

在函数库string.h,功能就是合并字符串

例如:

#includestdio.h

#includestring.h

char a[10] = {"12"};

char b[10] = {"bc"};

int main()

{

strcat(a,b);

printf("%s\n",a);

return 0;

}

C语言 合并字符串数组

做如下几个方面的修改:

1:声明的STK和定义的保持一致

2:STK中返回的是局部数组变量,这样是不能返回到主函数的

3:字符串的末尾需要加'\0'。

#include stdio.h

#include string.h

char* Stk(char*, char*, char*);//声明合并字符串函数

int main()

{

char string1[20],string2[10], string3[30];

gets(string1);

gets(string2);

puts(Stk(string1,string2, string3));

return 0;

}

char* Stk(char str1[],char str2[], char str3[])

{

int i,j,k,a,b;

a=strlen(str1),b=strlen(str2);

j=0,k=0;

i=strlen(str1)+strlen(str2);

for(i=0;i=a;i++)

{

str3[i]=str1[j];

j++;

}

for(i=a;i=(a+b);i++)

{

str3[i]=str2[k];

k++;

}

str3[a+b]='\0';///////

return str3;

}

c语言 字符串合并

////////// 如果通过一个地址返回呢?该怎么处理啊?

#includestdio.h

#includestring.h

#define M 3

#define N 30

void fun(char a[M][N], char *b)

{

for (int i = 0; i M; ++ i ){

strcat( b, a[i]); // 这样子使用.

}

}

int main(int argc, char ** argv )

{

char w[M][N]={"AAAA","BBBBBBB","CC"}, a[100];

int i ;

printf("The string: \n");

for(i=0; iM; i++){

printf("w[%d] = [%20s] \n", i, w[i]);

}

printf("\n");

//bzero(a, sizeof(a));

memset(a,0, sizeof(a));

fun(w,a);

printf("The A string: --------- \n");

printf("a = [%30s]\n",a);

return 0;

}

////////////////////////////// 为什么结果出现错误 无法运行??

// 因为 b 没有给它申请内存, 是个未定义的指针. 肯定会出错.

// 用 strcat 时, 一定要确保, 目标内存的大小有足够的空间存放合并后的字符串.

// 如果空间太小, 就会出现内存溢出.

#includestdio.h

#include string.h  

int main( int argc, char ** argv )

{

char *b = NULL;

char a[3][20]={"AAAA","BBBBBBB","CC"};

int len = strlen(a[0]) + strlen(a[1]) + strlen(a[2]) + 1 ; //目标字符串长度.

b = (char *)malloc( len ) ;

memset(b, 0, len); // 清0 ;

strcat(b,a[0]);

strcat(b,a[1]);

strcat(b,a[2]);

printf("%s",b);

free(b); // 要记得 free 哦.

b = NULL;

return 0;

}

C语言里如何将多个字符串数据合成一个数据?

主要有两种方法,一个是字符串连接操作strcat,另一个是格式化输出sprintf,主要代码如下,

//程序功能实现字符串合并

#include stdio.h

#include string.h

int main(int argc, char *argv[])

{

char name1[32]="456",name2[32]="123",name3[32]="789";

char NAME1[256]={'\0'},NAME2[256]={'\0'};

//字符串连接函数

strcat( NAME1,name2);

strcat( NAME1,name1);

strcat( NAME1,name3);

//格式化输出

sprintf(NAME2,"%s%s%s", name2, name1, name3);

printf("%s\n",NAME1);

printf("%s\n",NAME2);

return 0;

}

char *strcat( char *str1, const char *str2 );函数将字符串str2

连接到str1的末端,并返回指针str1。

int sprintf( char *buffer, const char *format, ... );sprintf和printf类似,

只是把输出发送到buffer缓冲区中,返回值是写入的字符数量。


网站栏目:c语言合并字符串库函数 c语言如何实现字符串合并
本文网址:http://scyanting.com/article/hihgjp.html