c++ char 转 string

转载文章

原文链接 https://www.cnblogs.com/daybreaking/p/12365099.html

 

第一种:利用赋值号直接赋值

复制代码
char a = 40;
string b = a; 
/*
错误。因为string是一个指针,存储的值是所指向的地址,而char型存储的是内容,所以不可以直接用赋值号赋值
*/
 
 
const char* a = "hello";
string b = a;       //正确
 
const char[] a  = "hello";
string b = a;        //正确
复制代码

 

第二种:利用sting构造函数

 

查看一下string的构造函数:

复制代码
 1 string();
 2     
 3 string (const string& str);
 4  
 5 string (const string& str, size_t pos, size_t len = npos);
 6  
 7 string (const char* s);
 8  
 9 string (const char* s, size_t n);
10  
11 string (size_t n, char c);
12     
13 template <class InputIterator>
14 string  (InputIterator first, InputIterator last);
15     
16 string (initializer_list<char> il);
17     
18 string (string&& str) noexcept;
复制代码

 

 所以 --->

 

char a = 48;

string b(a);   //这种写法是错误的,不可以直接传过去。

//利用string(size_t n, char c)
string b(1,a); //正确

 

posted @ 2021-05-19 20:48  寅鸷  阅读(465)  评论(0编辑  收藏  举报