我正在尝试编写一个通用函数来调整和连接字符串的大小,但是在调用 realloc() 时会发生运行时异常,说明堆已损坏。
//two string pointer initialized with malloc()
wchar_t* stream;
wchar_t* toAdd;
stream = (WCHAR *)malloc(sizeof(wchar) );
toAdd= (WCHAR *)malloc(sizeof(wchar) );
//function declaration
int ReallocStringCat(wchar_t *, const wchar_t *);
//
int ReallocStringCat(wchar_t *dest,const wchar_t *source)
{
//below line throws a heap corrupt exception
*dest =(wchar_t) realloc(dest, wcslen(dest) + wcslen(source) + 1);
return wcscat_s(stream,wcslen(dest) + wcslen(source) + 1, source);
}
我确定在使用指针和地址时我错了,但无法弄清楚。
还有没有任何 CLR/MFC/ATL 库的本机 Win32 C++ 应用程序的 Visual Studio 2012 C++ 中可用的可变类之类的内置函数?