c语言编程笔录

首页 >   > 笔记大全

笔记大全

char数组怎么转string

更新时间:2023-10-01
char数组可以通过多种方式转换为string。以下将介绍几种常见的转换方法。 方法一:使用循环遍历字符数组,逐个将字符添加到string对象中。
#include 
#include 
using namespace std;

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};
    string str;
  
    for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++) {
        str += arr[i];
    }
  
    cout << str;
  
    return 0;
}

方法一说明:

上述代码中,我们定义了一个字符数组arr和一个空的string对象str。通过for循环遍历数组元素,并使用+=操作符将每个字符添加到str中。最后,使用cout输出字符串str,即可得到char数组转换后的string结果。

方法二:使用string的构造函数将char数组转为string。
#include 
#include 
using namespace std;

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};
    string str(arr);
  
    cout << str;
  
    return 0;
}

方法二说明:

上述代码中,我们使用string的构造函数将char数组arr直接转换为string对象str。最后,使用cout输出字符串str,即可得到char数组转换后的string结果。

方法三:使用string的assign函数将char数组转为string。
#include 
#include 
using namespace std;

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};
    string str;
    str.assign(arr, sizeof(arr)/sizeof(arr[0]));
  
    cout << str;
  
    return 0;
}

方法三说明:

上述代码中,我们使用string的assign函数将char数组arr转换为string对象str。其中,assign函数的第一个参数是char数组的起始地址,第二个参数是数组的大小。最后,使用cout输出字符串str,即可得到char数组转换后的string结果。

方法四:使用string的assign函数和字符串结束符'\0'将char数组转为string。
#include 
#include 
using namespace std;

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o', '\0'};
    string str;
    str.assign(arr);
  
    cout << str;
  
    return 0;
}

方法四说明:

上述代码中,我们声明了一个包含字符串结束符'\0'的字符数组arr。使用string的assign函数将char数组arr转换为string对象str时,assign函数会自动识别字符串结束符,并将数组中的字符转换为string。最后,使用cout输出字符串str,即可得到char数组转换后的string结果。

综上所述,我们可以通过循环遍历、使用构造函数、使用assign函数等方法将char数组转换为string。根据实际需求和代码简洁性,选择合适的方法转换即可。