|
芯片:LPC1765 开发环境:keil4的 V4.03 嵌入式系统:ucosii-2.52
有问题的代码段如下:
const char temp2[3]={'%','i','\0'};
int ImpCmd (uint32 uiID,
char *pcarg,
uint32 *puiPara )
{
int iArgc;
int i,j;
int iSucc=0;
uint32 uiNum;
char *pcArgv[12];
char temp[160];
char temp3[16];
uiNum = GucCmdTabNum[uiID]; /* 获取命令参数表参数的个数 */
if ( pcarg == NULL || puiPara == NULL ) {
return OPERATE_FAIL;
} else {
// char temp[160];
strcpy( temp, pcarg); /* 拷贝用户参数进行修改 */
iArgc = CmdStr(temp, pcArgv);
}
for (i=0; i<iArgc; i++) {
for (j=0; j<uiNum; j++) {
// char temp[16];
strcpy(temp3, Cmd_Tab[uiID][j]);
sscanf("ssss","%s",temp3);
strcat(temp3, temp2);
// if ( sscanf((char *)pcArgv,temp3,(puiPara+j)) != 0 ) {
// iSucc ++;
// break;
// }
}
}
LedOn(LED1);
return iSucc; /* 解析完参数的个数 */
}
现象:编译正常,但是程序跑到sscanf("ssss","%s",temp3); 里就死掉了,如果屏蔽sscanf("ssss","%s",temp3); 则一切正常,不解中。
这里sscanf("ssss","%s",temp3); 这个句子是测试sscanf用的,发现只要有sscanf就死掉。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|