[C] 每天來點字串用法(3) - from const char* to char
文章推薦指數: 80 %
這次沒有拖到欸d(`・∀・)b(然而三年後拖到了) 今天帶來的不是函式,而是一個小技巧:. 由 const char* 轉成 char*. 有時候可能在將字串傳入函式 ...
由constchar*轉成char*
[C]每天來點字串用法(3)-fromconstchar*tochar*
Sky
2021-03-06
這次沒有拖到欸d(`・∀・)b(然而三年後拖到了)
今天帶來的不是函式,而是一個小技巧:
由constchar*轉成char*有時候可能在將字串傳入函式時,會出現以下錯誤:
error:invalidconversionfrom'constchar*'to'char*'
note:expected'char*'butargumentisoftype'constchar*'
這是因為constchar*沒辦法自動轉換成char*,那麼基本上是沒救了啦,不過有一些方法可以繞過編譯器檢查或達到與轉換型別相同的效果:
直接修改函式參數的型態定義,但原本函式庫裡的宣告根本不能改。
用const_cast
使用上一篇提到的strcpy(),但小心緩衝區覆蓋,或是使用到不知道指到什麼的指標。
下面這裡提供2.和3.的使用範例:
#include
延伸文章資訊
- 1C++) (字串和字元常值
在Microsoft C++ 中,您可以使用字串常值來初始化非const char 或 wchar_t 的指標。 C99 程式碼中允許這個非常數初始化,但在C++98 中已被取代,並 ...
- 2在C++ 中将std::string 转换为const char* - Techie Delight
这篇文章将讨论如何在C++ 中将std::string 转换为const char*。返回的指针应指向一个char 数组,该数组包含与字符串对象中存在的字符序列相同的字符序列,并在末尾附加 ...
- 3C++ const char\*与char\* const_Summit_Yue的博客 - CSDN博客
C++ const char*与char* constC++里的const char*和char* const一直很容易混,其实只要理解了const到底修饰的哪个,就会豁然开朗。
- 4When to use const char * and when to use const char []
If you do not need to modify the data, using const char text[] reduces the number of relocations ...
- 5C++中string、char *、char[]、const char*的轉換 - IT人
源格式賦值為具體的內容,目標格式賦值為空。 C++中string、char *、char[]、const char*的轉換. 總結如下:. A.