一个简单的命令行解析类

xiaoxiao2021-02-28  111

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; int m_iCmdCount; };

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

转载请注明原文地址: https://www.6miu.com/read-49291.html

最新回复(0)