const char*转char*怎么转?

Posted damoying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的语句是错误的。

以上是关于const char*转char*怎么转?的主要内容,如果未能解决你的问题,请参考以下文章

C++CString转换为const char *类型

C++ string2进制转16进制要怎么做

VS2010 mfc CString转const char *

const char* to char*(当函数传递参数时)

(转)const char to LPCTSTR不能转化问题

[转载] C++ string, const char*, char* 之间互相转换