C++ char * 和char之间的一些转换有关问题
C++ char *和char之间的一些转换问题char *ccccc(char *)malloc(sizeof(char))ccccc11111111*ccccc
C++ char * 和char之间的一些转换问题
char *ccccc=(char *)malloc(sizeof(char));
ccccc="11111111";
*ccccc = (char)100;
这样会报写入位置时发生访问冲突错误,但下面这样却正常
char *ccccc=(char *)malloc(sizeof(char));
*ccccc = (char)100;
ccccc="11111111";
还有一点,弹出来的提示框框后面带了问号,似乎ccccc的值为“d ? ??”
char *ccccc=(char *)malloc(sizeof(char));
*ccccc = (char)100;
::MessageBox(hWnd,ccccc,"花",0);
为什么呢? c++?char?char
[解决办法]char *ccccc=(char *)malloc(sizeof(char));
ccccc="11111111";
*ccccc = (char)100;
是在修改 "11111111" 这个只读内存的内容.
char *ccccc=(char *)malloc(sizeof(char));
*ccccc = (char)100; 修改的是 malloc 出来的内存.
ccccc="11111111";
char *ccccc=(char *)malloc(sizeof(char));
*ccccc = (char)100;
::MessageBox(hWnd,ccccc,"花",0);
字符串以 '\0' 结尾, 否则后面的内容随机.
[解决办法]cccc的地址被你改变了