为什么我把一个BYTE buffer[256]赋给一个结构a中的cstring变量b
a.b=buffer有时可以赋成功,有时赋不成功,有时有异常?

解决方案 »

  1.   

    buffer 要以\0结尾,否则出现异常!!
      

  2.   

    BYTE buffer[256],严格来讲根本就不是字符串,即使它最后加上了字符串的结束标志。因为它是无符号的字符,但偶然也有可能可以。
      

  3.   

    还是这里人气旺
    我是用odbc来访问数据库,用GetFieldValue来得到数据库字段的值,然后把值放到结构中,我就是把BYTE buffer[256]中的值放到结构a中的cstring变量b
    a.b=buffer
      

  4.   

    还是没解决,我很纳闷,我这个不光byte赋给cstring有问题,有时cstring赋给cstring也有问题,都是用=赋,是不是我得工程有问题?要是的话,删掉哪个文件后重建可以解决?
      

  5.   

    把所有 數據庫類型都對應好vc 類型先然後拷貝內存中內容. 
    我在 oledb 中是這樣做的
      

  6.   

    http://expert.csdn.net/Expert/topic/2968/2968915.xml?temp=8.460635E-02
      

  7.   

    if(GetFieldValue("TokenSN",buf,nSize)) 
    {
    TokenInfor.TokenSn=buf; 
    }
    if(GetFieldValue("AuthMode",buf,nSize)) 
    {
    TokenInfor.AuthMode=buf;
    }
    if(GetFieldValue("tTYPE",buf,nSize))
    {
    TokenInfor.TType=buf;
    }
    有问题吗?