C语言如何实现两个非常量的CHAR字符串连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何实现两个非常量的CHAR字符串连接相关的知识,希望对你有一定的参考价值。

大家都知道strcat可以实现两个字符串连接,可是烦人的是这个函数的第二个参数必须是const char*型,我想实现 "电话号码:"+char*字符串变量可怎么办呢?
如strcat("电话号码:",msg->GetPhone());铁定出错,请问这个该怎么解决

使用strcat函数可以进行字符串连接。

1、strcat用于将两个char类型链接的函数。
函数原型:extern char *strcat(char *dest,char *src);
参数:
dest 目标数组指针
src 源字符串指针
返回值:返回指向dest的指针
函数功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。
注意事项:
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
2、实例:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()

char d[20] = "GoldenGlobal";
char* s = "View";
system("cls");
strcat(d,s);
printf("%s",d);
getchar();
return 0;


运行结果:
GoldenGlobalView

参考技术A #include "stdio.h"
#include "string.h"
void main()

char str[80],*number="27865412";
strcpy (str,"number: ");
strcat (str,number);
puts (str);

你的strcat("电话号码:",msg->GetPhone());
第一个参数不对。
参考技术B 自己重新写个strcat函数。
void strcat(char *dst,char *src)

...
参考技术C 你自己重新定义一个函数嘛~ 参考技术D //---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *scat(const char *a,const char *b) /*返回合并的字符串的地址*/

char *rt=malloc(sizeof(char)*(strlen(a)+strlen(b)));
strcpy(rt,a);
return strcat(rt,b);

int main(void)

char phone[]="1234";
printf("%s\n",scat("telphone:",phone));/*示例*/
return 0;

//---------------------------------------------------------------------------本回答被提问者采纳

C语言编程:5、编一个程序,将两个字符串连接起来,不要用strcat函数.

思路:字符串连接先需要找到第一字符串的结束位置,接着把第二字符串元素放到第一字符串后面,最后加上结束标志即可。

参考代码:拼接123和456

#include<stdio.h>
void mystrcat(char a[],char b[])//字符串连接函数 
int i=0,j=0;
while(a[i++]!=\'\\0\');//找到a的结束位置 
i--;
while(b[j]!=\'\\0\')//把b元素赋值到a中 
a[i++]=b[j++];
 
a[i]=\'\\0\';//加上结束标志 

int main()

char a[100],b[100];
scanf("%s%s",a,b);
mystrcat(a,b);
puts(a); 
return 0;

/*
运行结果:
123 456
123456
*/
参考技术A 函数头我就不和你写了!
int a[20],b[20],i=0,j=0;
while(a[i]!='\0')

i++;

while(b[i]!='\0')

a[i++]=b[i++];

a[i]='\0';
printf("%s",a);

就可以了!!本回答被提问者采纳
参考技术B 两个字符串连着输出可以吗?

以上是关于C语言如何实现两个非常量的CHAR字符串连接的主要内容,如果未能解决你的问题,请参考以下文章

(c语言)拼接字符

编写一个C语言函数,比较两个字符串的大小

如何在MySQL中连接两个字符串

C语言str函数系列

c语言编写一个程序,实现查找一个字符串中的特定字符,并将其删除.

C语言编程:5、编一个程序,将两个字符串连接起来,不要用strcat函数.