首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ char * 和char之间的一些转换有关问题

2013-07-11 
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的地址被你改变了

热点排行