c++ char轉換成string


 

第一種:利用賦值號直接賦值

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); //正確

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM