Posts

Showing posts from October, 2004

wcstok,strtok memory corruption

CString mystring("ob_jw_ay"); CString anotherstring ; anotherstring =mystring;//memory corruption!!! TCHAR* string = (TCHAR*)(LPCTSTR)mystring; TCHAR seps[] = "_"; TCHAR* token; token = strtok( string, seps ); while( token != NULL ) token = strtok( NULL, seps ); //Now both strings will be changed.Because both CString::m_pchData are pointing to the same memory and strok/wcstok changes it. If you want 'anotherstring' to remain unchanged do anotherstring + =mystring;