用CreateThread(...)创建一个线程中,线程函数中有
ThreadFunc(..)
{
...
CallFunc("xxxxxxxxx");//这里的xxx是任意的
...
}CallFunc(char * p)
{
char szText[30];
ZeroMemroy(szText,30);
sprintf(szText,"%s : %d",p,WSAGetLastError());
MessageBox(..szText..);
}在使用的过程中,一进入CallFunc,程序就崩溃了,提示szText有问题,我把
sprintf(..)这句注释了之后,就没事了。是参数在传递过程中出了什么问题吗?
ThreadFunc(..)
{
...
CallFunc("xxxxxxxxx");//这里的xxx是任意的
...
}CallFunc(char * p)
{
char szText[30];
ZeroMemroy(szText,30);
sprintf(szText,"%s : %d",p,WSAGetLastError());
MessageBox(..szText..);
}在使用的过程中,一进入CallFunc,程序就崩溃了,提示szText有问题,我把
sprintf(..)这句注释了之后,就没事了。是参数在传递过程中出了什么问题吗?
zeromemey
CallFunc(char * p)
{
char *szText = new char[strlen(p)+1+4+10];//%d 4个字节//中间符号什么的,
ZeroMemroy(szText,strlen(p)+1+4+10);
sprintf(szText,"%s : %d",p,WSAGetLastError());
MessageBox(..szText..);
}