刘华世的官方博客

GetCommandLine 获取当前进程的命令行字符串 对字符串进行分割

#include "string.h"
#include <vector>

void CAutoZipDlg::OnBnClickedOk()
    {
    using namespace std;
    vector<CString> strVec;

    CString teststr = GetCommandLine(); //retrives the command-line string for the current process.
    CString outputstr; 
    int flag = 0;

    for(int i = 0;i < teststr.GetLength(); i++)
    {
        if(teststr[i]=='\"')
        {
            ++flag;

        }
        else if(flag == 2)
        {
            //MessageBox(outputstr, "outputstr");
            strVec.push_back(outputstr);
            outputstr = "";
            flag = 0;
        }
        else if(teststr[i]==' ' && flag == 0)
        {
            //MessageBox(outputstr, "outputstr");
            strVec.push_back(outputstr);
            outputstr = "";
            
        }
        else
        {
            outputstr += teststr[i];    
        }
    }
 
    if(outputstr.GetLength()>0)
    {
        //MessageBox(outputstr, "outputstr");
        strVec.push_back(outputstr);
    }

    for(vector<CString>::const_iterator it = strVec.begin()+1;it != strVec.end();it++)
    {
        //TRACE(*it);
        //TRACE("\n");
        MessageBox(*it, "文件路径");
    }
}

习惯了用argv来处理命令行的字符串,来到mfc还是有点不习惯的。

对命令行字符串的处理,方法之一。刚入门不久,希望今后可以改进!

http://www.pythonschool.com/python/3.html 转摘

posted @ 2012-10-18 09:48  pythonschool  阅读(1045)  评论(0编辑  收藏  举报
刘华世的官方博客