直接將const char *賦值給char *是錯誤的,編譯器不允許這種操作。
#include "stdio.h" #include "string.h" int main() { //方式1 strcpy //方式1.1 //const char *cpCh = "const char"; //char ch[64]={0}; //char *pCh = ch; //是不是畫蛇添足啊?? //strcpy(pCh, cpCh); //方式1.2 const char *cpCh = "const char"; int nLen = strlen(cpCh); char *pCh = new char[nLen + 1]; strcpy(pCh, cpCh); //方式2 const_cast<>() //const char *cpCh = "const char"; //char *pCh = const_cast<char *>(cpCh);//DO not forget '()'
printf("%s", pCh); return 0; }