const char*转char*怎么转?

 

在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的语句是错误的。
posted @ 2019-05-15 12:10  damoying  阅读(3109)  评论(0编辑  收藏  举报