2014年9月25日 星期四

C++ 字串切割

Arguments AnalyticArguments(int argc, _TCHAR* argv[])
{
    //初始化
    Arguments args;
    args.strAction = "";
    args.strVMName = "";
    args.strSnapshotName = "";

    if(argc >= 3)
    {
        //歷遍所有參數
        for(int i=0 ; i -1)
        {
            //取得一個參數 ex:/Action=start
            string strArgument = argv[i];
            //初始化
            int iTok = -1;
            //=========================判斷參數keyword=========================
            if((iTok = strArgument.find("/Action")) > -1)
            {
                iTok = strArgument.find("=");
                int strLength = strArgument.length();
                //判斷等號右邊是否有文字
                if(iTok > -1)
                    args.strAction = strArgument.substr(iTok+1, strLength);
            }
            else if((iTok = strArgument.find("/VMName")) > -1)
            {
                iTok = strArgument.find("=");
                int strLength = strArgument.length();
                //判斷等號右邊是否有文字
                if(iTok > -1)
                    args.strVMName = strArgument.substr(iTok+1, strLength);
            }
            else if((iTok = strArgument.find("/SnapshotName")) > -1)
            {
                iTok = strArgument.find("=");
                int strLength = strArgument.length();
                //判斷等號右邊是否有文字
                if(iTok > -1)
                    args.strSnapshotName = strArgument.substr(iTok+1, strLength);
            }
            //=================================================================
        }
    }
    return args;
}

沒有留言:

張貼留言