如果该命令中有空格,为什么不起作用?

我想像alani hur upalani hur down这样使用它,但是它不起作用,我尝试将命令重命名为alanihur只是为了查看其是否存在其他问题,但是它确实起作用了,所以我做到了。

我为什么不能有空间?

blabla.h

bool Levitate(Creature* creature, const std::string& cmd, const std::string& param);


blabla.cpp

{"alani hur",&Commands::Levitate}


bool Commands::Levitate(Creature* creature, const std::string &cmd, const std::string &param)
{

 if(param == "up"){
     Position newPos = creature->getPosition();
     newPos.z--;
     if(g_game.internalTeleport(creature, newPos) == RET_NOERROR){
        g_game.addMagicEffect(newPos, NM_ME_ENERGY_AREA);
    return true;
    }
 }
 else if(param == "down"){
                  Position newPos = creature->getPosition();
newPos.z++;
Tile* tile = g_game.getTile(newPos.x, newPos.y, newPos.z);
if(tile && tile->creatures.size() != 0){
    newPos.x++;
}

if(g_game.internalTeleport(creature, newPos) == RET_NOERROR){
        g_game.addMagicEffect(newPos, NM_ME_ENERGY_AREA);

    return true;
}

 }

 return false;
}


十分感谢,请原谅我可怜的英语

最佳答案

如果您的程序使用令牌系统来解析命令,并且将空格视为定界符,那将是为什么空格具有这种效果的一种解释。

10-04 14:15