在string里面string.c_str();函數把string轉換為了const char*但是有的函數只需要char*我放const char*就不OK了.
如何把const char*轉為char*.
指向const的指針不能被賦給指向非const的指針,所以應該用strcpy,也就是另開一塊內存,把字符一個個復制過去,示例如下:
const char *expr = "goodidea";
char *buf = new char[strlen(expr)+1];
strcpy(buf, expr);
strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由NULL結束的字符串復制到dest所指的數組中。
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串,返回指向dest的指針。
char * const p是一個char型指針,指針是常量,不允許修改,即類似p=q的語句是錯誤的;
char const * p和const char * p是同一種char型指針,指針指向的字符被看作是常量,不允許修改,即類似*p = q的語句是錯誤的。