为什么这一句delete[] szBuf 执行时会报错? - C++ Builder / Windows SDK/API
从网上找了段把中文大五码转为GBK字符的代码:
void __fastcall BIG52GBK(char *szBuf){ if(!strcmp(szBuf,"")) return; int iLen=MultiByteToWideChar (950, 0, szBuf, -1, NULL,0) ; wchar_t *pws=new wchar_t[iLen+1]; int nReturn = MultiByteToWideChar(950, 0, szBuf, -1, pws, iLen + 1); iLen=WideCharToMultiByte(936, 0, pws, -1, NULL, 0, NULL, NULL);[color=#FF0000]// delete[] szBuf;[/color] szBuf=new char[iLen+1]; WideCharToMultiByte(936, 0, pws, -1, szBuf, iLen, NULL, NULL); delete[] pws;}