【错误处理】CString的Format部分报异常:system.accessviolationexception 尝试读取或写入受保护的内存

编译没有出错,但是调试运行的时候一到Format部分就会报异常:

system.accessviolationexception 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

因为在Format里面有很多数据,均为int, string, double等类型。开始以为是哪个变量没有赋值或者是空指针什么的,就挨个提出来,可是发现当Format里的格式化个数到达一定数量时,只要增加一个%s的string类型就会报出异常,百度google了很多都没有解决问题,后来在前辈的帮助下采用了以下方法:

将所有string类型都用c_str()转换为const char*类型

即:

cstr.Format("%s......", str.c_str());

问题解决,但是原因未知,待查

【错误处理】CString的Format部分报异常:system.accessviolationexception 尝试读取或写入受保护的内存,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。