首页 > 编程知识 正文

c++strcat函数用法,c语言中strcat函数怎么用

时间:2023-05-03 09:20:58 阅读:255479 作者:3870

【FROM MSDN && 百科】

原型:char *strcat(char *dest,const char *src);

#include<string.h>

Append a string.

把src所指字符串添加到dest结尾处(覆盖dest结尾处的'')并添加''。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针。

DEMO1:实现自己的strcat函数

#include <stdio.h>#include <conio.h>#include <assert.h>char *my_strcat(char *dest,const char *src) //将源字符串加const,表明其为输入参数{char *strDest=dest;assert(dest!=NULL && src!=NULL); //对源地址和目的地址加非0断言//here//若使用while(*Dest++),则会出错,指向''之后,会出现dest++,则指向了个''的下一个位置,while(*dest !='') {dest++; //循环体内的++可以使指向字符串结束标志''}while((*dest++=*src++)!=''); return strDest; 为了实现链式操作,将目的地址返回}int main(void){ char str1[20]="hello"; // sufficent space char str2[]=" world";my_strcat(str1,str2);printf("%sn",str1);getch();return 0;}

DEMO2: strcpy && strcat

#include <stdio.h>#include <conio.h>/*strcpy && strcat*/int main(void){ char string[80];strcpy(string,"Hello world from ");strcat(string,"strcpy ");strcat(string,"and ");strcat(string,"strcat!");printf("string = %s n",string);getch();return 0;}结果输出:string = Hello world from strcpy and strcat!

DEMO3:str1 + str2  =str3

#include <stdio.h>#include <conio.h>#include <assert.h>#include <string.h>#include <malloc.h>#pragma warning (disable:4996)int main(void){char *str1="Welcome ! ";char *str2="Hello,world!";char *str3;str3=(char*)malloc(strlen(str1)+strlen(str2)+1); //申请空间//assert(str3);if (str3 == NULL){fprintf(stderr,"malloc failed......!n");}strcpy(str3,str1); //拷贝strcat(str3,str2); //appendingprintf("str1 is %sn",str1);printf("str2 is %sn",str2);printf("str1 + str2 is %sn",str3);free(str3); //malloc的内存记得要free掉getch();return 0;}


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。