firemail

标题: 字符串拷贝越界的问题 [打印本页]

作者: Qter    时间: 2020-1-1 14:49
标题: 字符串拷贝越界的问题
        typedef struct CLT_MDN_IMSI_ROAMING
{               
        char START_TIME[MAX_DATETIME_LEN];
        char MDN[12];
        char IMSI[16];
        char VENDOR[7];
        short IMSIinDB;
        } CltMdnImsiRoaming;
        CltMdnImsiRoaming* first_rec
        //051085857272像这种超长的加上-1后,就会取前11位,舍弃后面的2,若不加-1则会造成舍弃前面的0,且与后面的IMSI连在一起,出现类似51085857272460036551056650这样的数
        strncpy(first_rec->MDN, scdr->MDN.c_str(), sizeof(first_rec->MDN)-1);       
        strncpy(first_rec->IMSI, scdr->IMSI.c_str(), sizeof(first_rec->IMSI)-1);       






欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3