语法错误

merry_zsp 2016-03-27 09:02:37
void cmd_process(int argc, char* argv[])
{
char *pszCmd = NULL;
int iCmdNum =0;
//内存分配失败,退出函数
pszCmd = (char*)malloc(CMD_LEN);
if (NULL == pszCmd)
{
return;
}

#ifdef _WIN32
// while (true)
#endif
{
iCmdNum =0;
memset(pszCmd, 0, CMD_LEN);
//获取命令pszCmd。
iCmdNum = scanf("%s", pszCmd);
pszCmd[CMD_LEN-1] = 0;
if (1 == iCmdNum)
{
char *pComma = pszCmd;
char *pCmdStartPos = pszCmd;
char pszCmdBuffer[512];
// 多命令以逗号分割
pComma = strstr(pCmdStartPos, CMD_SEPARATRIX);
//存在多命令时处理方法
while (NULL != pComma)
{
size_t uiCpyLen = 0;
//针对存在多个逗号的问题,一直找到第一个不为逗号的位置pCmdStartPos,pComma为pCmdStartPos后的第一个逗号的位置
if (pComma == pCmdStartPos)
{
pCmdStartPos = pComma+1;
pComma = strstr(pCmdStartPos, CMD_SEPARATRIX);
continue;
}
memset(pszCmdBuffer, 0, sizeof(pszCmdBuffer));
//uiCpyLen为第一个命令的长度,并将第一个命令复制给pszCmdBuffer。
uiCpyLen = min(sizeof(pszCmdBuffer), (size_t)(pComma - pCmdStartPos));

strncpy(pszCmdBuffer, pCmdStartPos, uiCpyLen);
//执行pszCmdBuffer命令所对应的操作
cmd_dispatch(pszCmdBuffer);

pCmdStartPos = pComma+1;
while(' ' == *pCmdStartPos)
{
pCmdStartPos ++;
}
pComma = strstr(pCmdStartPos, CMD_SEPARATRIX);
}
cmd_dispatch(pCmdStartPos);
}
else
{
libOutputStr("Get command fail.");
}
}

free(pszCmd);
return;
}

上面这个函数 编译老是出现一个错误
错误行:
uiCpyLen = min(sizeof(pszCmdBuffer), (size_t)(pComma - pCmdStartPos));
error C2059: 语法错误 : “>”
求解 这是为什么呢?
...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 版主 2016-03-28
  • 打赏
  • 举报
回复
引用 1 楼 merry_zsp 的回复:
原来是一个宏定义错了o(╯□╰)o
哈哈,怪不得在楼主的代码里找不到>也找不到<
merry_zsp 2016-03-28
  • 打赏
  • 举报
回复
原来是一个宏定义错了o(╯□╰)o

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧