解决方案原文地址:http://blog.csdn.net/nanfeiyannan/article/details/7475124
使用USES_CONVERSION时,当调用次数频繁过多时,出现stack overflow错误
查过知道原因:使用USES_CONVERSION,从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。因此如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。
后来将其设置了独立的转换小函数,每次需要转换时对其进行调用即可
void Convert(CString oldstring,char *& newstring)
{
USES_CONVERSION;
strcpy(newstring,W2A(oldstring));
}