关闭

Bugs Bugs

380人阅读 评论(0) 收藏 举报
分类:

 

/***********Bug1*****************************************************************************/
int amount, curAmount, totalAmount;
CString str;
amount = atoi(X);
curAmount = XX;
totalAmount = XXX;
str.Format( "%d %d %d", amount, curAmount, totalAmount ); //1 这里有可能会出错,无法通过,因为某处无法转换

char cBuf[256] = { 0 };
sprintf( cBuf, "%d %d %d", amount, curAmount, totalAmount ); //2 OK 



/***********Bug2*****************************************************************************/
int GetMoney( int &money )
{
	int cash;
	
	cash = 10000;
	money = cash;
}

int myMoney;
GetMoney( myMoney );
//use myMoney  //这里会出错,因为引用了局部变量 
/***********Bug3*****************************************************************************/
//在字符串拷贝的时候
 
struct PkgStruct //报文格式
{
	char cActive[1];	//0: Not Active 1: Active 
	char cMakeCardSn[20];
};
 
 strcpy( pSt1->cActive, "1" );  //会使cMakeCardSn[0]有一个空字符0 
 
 strncpy( pSt1->cActive, "1", sizeof( pSt1->cActive ) ); //这样OK

//strcpy会把字符串末尾的'\0'同时拷贝的,而当函数strlen发现'\0'即停止计算了,sizeof()则给出数组原先定义的大小



 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:294326次
    • 积分:7353
    • 等级:
    • 排名:第2978名
    • 原创:438篇
    • 转载:154篇
    • 译文:0篇
    • 评论:51条
    最新评论