C++之char*,const char*和string的相互转换
生活随笔
收集整理的這篇文章主要介紹了
C++之char*,const char*和string的相互转换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. string轉(zhuǎn)const char*string s = "abc";const char* c_s = s.c_str();
2. const char*轉(zhuǎn)string直接賦值即可const char* c_s = "abc";string s(c_s);
3. string轉(zhuǎn)char*string s = "abc";char* c;const int len = s.length();c = new char[len+1];strcpy(c,s.c_str());
4. char*轉(zhuǎn)stringchar* c = "abc";string s(c);
5. const char*轉(zhuǎn)char*const char* cpc = "abc";char* pc = new char[100];//足夠長strcpy(pc,cpc);
strcpy(pc,cpc)是copy cpc to pc,但是遇到\0就會作為結(jié)束符結(jié)束拷貝,當cpc是包含很多個結(jié)束符時,邏輯錯誤,所以有的時候需要用
pc = const_cast<char*>(cpc.c_str())
6. char*轉(zhuǎn)const char*直接賦值即可char* pc = "abc";const char* cpc = pc;
7. string轉(zhuǎn)char[]char str[31];cin.get(str,31)
總結(jié)
以上是生活随笔為你收集整理的C++之char*,const char*和string的相互转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++类和new、delete操作符和堆
- 下一篇: C++ char[] 与 string