一个简单的命令行解析类

来源:互联网 发布:厨房电器 知乎 编辑:程序博客网 时间:2024/05/17 22:11
struct USER_COMMAND{public:USER_COMMAND(CString m_strCmd){int iIndex1 = 0, iIndex2 = 0;while(1){iIndex2 = m_strCmd.Find(_T(' '), iIndex1);if(iIndex2 == -1){AddCmd(m_strCmd.Mid(iIndex1));break;}else{AddCmd(m_strCmd.Mid(iIndex1, iIndex2-iIndex1));iIndex1 = iIndex2 + 1;}}}~USER_COMMAND(){Reset();}CString GetParam(int index){if(index >= GetSize()){return _T("");}else{return m_vectorCmd[index];}}private:inline void Reset(){m_vectorCmd.clear();m_iCmdCount = 0;}inline void AddCmd(CString& m_strCmd){m_vectorCmd.push_back(m_strCmd);m_iCmdCount++;}inline int GetSize() const{return m_vectorCmd.size();}public:std::vector<CString>m_vectorCmd;intm_iCmdCount;};


传进命令行字符串(空格分割),之后GetParam()就可以了。