代码如下:
 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,请高手教我

解决方案 »

  1.   

    if(*ddata==*Sdata) 
      return ddata1; 当这2个相等的时候才返回,那么不相等呢?
    *ddata这个你没有赋值,那就不知道是否相等咯。返回值要看eax寄存器里是什么,或许在你这里恰巧是0
      

  2.   

    char *ddata = new char[MAX_PATH]
      

  3.   

    搞定了?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;问题不少:1  . ddata没有new 内存
    2  . 返回时不是所有路径都有返回
    3  . (这个不算问题)
    第一次调用GetPrivateProfileString时, *ddata == '\0' 判断下就知道要不要返回FALSE 了
      

  4.   

    Mackz,不会报错的,会是个警告