读书人

么就说wc[3]= amp;#39;d amp;#39;;出错,尝试

发布时间: 2011-12-08 21:33:54 作者: rapoo

VC2005中wchar_t[i]的值怎么改变
wchar_t *wc=L "ABCDE ";
wc[3]= 'd ';


么就说wc[3]= 'd ';出错,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。


请高手帮个忙

[解决办法]
wchar_t wc1[] = L "ABCDE ";
wchar_t *wc=wc1;
wc[3]= 'd ';

你那样声明的字符串被放到常量数据区,所以是不能修改的。
[解决办法]
wchar_t *wc=L "ABCDE ";
进行了一个隐式的转换const wchar_t*到wchar_t*
改写了常量存储区域当然不可以了

读书人网 >VC

热点推荐