C++中string与字符数组的互相转化

    技术2022-07-13  84

    string是C++标准库类型,用于表示可变长的字符序列。

    1 字符数组转化为string

    1.1直接复制或者赋值

    通过直接复制或者赋值的方式,可以将字符数组转换为string。

    char ach1[] = "Hello"; string str1(ach1); string str2 = ach1;

    1.2通过加法运算符或者复合赋值运算符

    char ach2[] = "World"; str2 += ach2; string str3 = str1 + " " + ach2;

    需要注意的是,在使用加法运算符时,运算符两侧的操作数不能都是字符数组。

    string str4 = ach1 + ach2;//错误

    2 string转化为字符数组

    通过string类的c_str()函数,可以将string转化为字符数组。c_str()函数返回值是一个C风格字符串,也就是说,该函数的返回结果是一个指向字符数组的指针。

    char ach3[20]; strcpy(ach3, str1);//错误 strcpy(ach3, str1.c_str());//正确

    其中,strcpy()函数的作用是将指定的字符串进行拷贝,该函数无法拷贝string对象,只能拷贝string对象的c_str()函数返回的字符串。

    Processed: 0.016, SQL: 9