代码如下:
int WINAPI IckApplication:: SN_Auth(LPCTSTR Sdata)
{
char *ddata;
int ddata1;
//GetPrivateProfileString(NULL,"sdata",NULL,ddata.GetBuffer(MAX_PATH),MAX_PATH,"c:\\wt.ini");
//*ddata='9902';
ddata1=int(*Sdata);
if(*ddata==*Sdata)
return ddata1;
}
我是从pb中调用这个函数,第一次用怎么返回0或false,请高手教我
int WINAPI IckApplication:: SN_Auth(LPCTSTR Sdata)
{
char *ddata;
int ddata1;
//GetPrivateProfileString(NULL,"sdata",NULL,ddata.GetBuffer(MAX_PATH),MAX_PATH,"c:\\wt.ini");
//*ddata='9902';
ddata1=int(*Sdata);
if(*ddata==*Sdata)
return ddata1;
}
我是从pb中调用这个函数,第一次用怎么返回0或false,请高手教我
return ddata1; 当这2个相等的时候才返回,那么不相等呢?
*ddata这个你没有赋值,那就不知道是否相等咯。返回值要看eax寄存器里是什么,或许在你这里恰巧是0
int ddata1;
GetPrivateProfileString(NULL,"sdata",NULL,ddata.GetBuffer(MAX_PATH),MAX_PATH,"c:\\wt.ini");
*ddata='9902';
ddata1=int(*Sdata);
if(*ddata==*Sdata)
return ddata1;问题不少:1 . ddata没有new 内存
2 . 返回时不是所有路径都有返回
3 . (这个不算问题)
第一次调用GetPrivateProfileString时, *ddata == '\0' 判断下就知道要不要返回FALSE 了