cstring越界_CString和char*的转换
生活随笔
收集整理的這篇文章主要介紹了
cstring越界_CString和char*的转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法1、const char*轉換
CString str;
const char *p=(const char*)str;
const char *表示你對字符串只讀,所以這時候可以直接獲取。
方法2、使用強制類型轉換
如需要對字符串寫權限,則:
CString str;
char *p = (char *)(const char *)str;
方法3、使用GetBuffer(int num)
使用函數的好處是可以通過num值加大字符串緩存區的長度,方便后續的操作。
CString str;
char *p = str.GetBuffer(0);
...
str .ReleaseBuffer();
GetBuffer的參數為0表示獲得的緩存區為原樣大小,你保證不會越界操作。如果你估計到后續語句會導致字符串長度超過原有長度,則填寫參數:GetBuffer(估計的需要大小)。
更多說明:
以上為ansi編程環境,如果需要自適應unicode,則用
LPSTR(即TCHAR*)表示 char *
LPCTSTR(即const TCHAR*)?表示 const char *
總結
以上是生活随笔為你收集整理的cstring越界_CString和char*的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云南贵州是一个省吗(云南和贵州都是省吗)
- 下一篇: java的选项板_CAD工具选项板的介绍