byte* bshowsize=new byte[size];
memcpy((LPSTR)bshowsize,(LPCSTR)fpread,size); string mystr("");
mystr.reserve(typen9*4+6);
int iitemp = 0;
char strtemp;
for (int i=0;i<size;i++){
iitemp = 128;
for (int k=0;k<8;k++){
itoa((bshowsize[i]&iitemp)>>(7-k),&strtemp,2);//"11101100"->'1','1','1','0',.....
mystr.push_back(strtemp);
iitemp=iitemp/2;
}
}
delete[] bshowsize;如上代码段,运行后(可以成功运行),但会提示:Run-Time Check Failure #2 - Stack around the variable 'strtemp' was corrupted.不知道怎么回事!请指教!
memcpy((LPSTR)bshowsize,(LPCSTR)fpread,size); string mystr("");
mystr.reserve(typen9*4+6);
int iitemp = 0;
char strtemp;
for (int i=0;i<size;i++){
iitemp = 128;
for (int k=0;k<8;k++){
itoa((bshowsize[i]&iitemp)>>(7-k),&strtemp,2);//"11101100"->'1','1','1','0',.....
mystr.push_back(strtemp);
iitemp=iitemp/2;
}
}
delete[] bshowsize;如上代码段,运行后(可以成功运行),但会提示:Run-Time Check Failure #2 - Stack around the variable 'strtemp' was corrupted.不知道怎么回事!请指教!
我懒了,机器太老,VC7开起来太慢了,你自己检查了。也可能错误代码不在这里,应该是你局部数组赋值时越界了。比如这样的代码会导致这种可恶的错误
void somefunction()
{
......
int a[10];
for (int i=0; i<=10; ++i)
a[i] = i;
......
}