《C++宝典》第6章数组与字符串,本章将介绍一种数据集合类型--数组。与结构体不同,数组是同一类型数据的集合。而且在内存中,数组中的元素依次排列,一个紧邻一个。本节为大家介绍字符串连接函数strcat。
AD: 2013大数据全球技术峰会低价抢票中
6.8.3 字符串连接函数strcat
对于两个整数a和b,下面的代码结果是把两个整数相加:
int a = 3;
int b = 5;
int c = a + b;
对于字符串,其加法的意义应该是把两个字符串连接起来,对于下面两个定义:
char str1[128] = "Hello World";
char str2[128] = "C++ Programming";
如果想把两个字符串连接起来,直接用+是不可以的,在C++标准库中提供了一个可以实现这个功能的函数,这个函数就是strcat。函数格式如下:
strcat ( 字符数组名1, 字符数组名2 )
函数把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志\0。本函数返回值是字符数组1的首地址。使用例子如下:
char str1[128] = "Hello World";
char str2[128] = "C++ Programming";
strcat( str1, str2 ); // 连接字符串
上面的代码把str2连接到str1的后面,现在str1为"Hello WorldC++ Programming"。下例需要用户输入两个字符串,然后把它们连接起来,程序如示例代码6.7所示。
示例代码6.7

#include  
using namespace std;                                         // 使用名称空间std  

int main(int argc, char *argv[])                             // 主函数  
{  
    cout<<"请输入两个字符串:"<>str1>>str2;                                             // 输入字符串  
    strcpy( buffer, str1 );                                       // 复制  
    strcat( buffer, str2 );                                        // 连接  
    cout<<"新生成的字符串为:"<

建立一个控制台工程,并将上述代码复制到源文件中,编译并运行,其结果如图6.13所示
字符串连接函数strcat