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

本文介绍了一种在MFC环境下处理命令行参数的方法,通过解析命令行字符串并将其存储到向量中,便于进一步处理。适用于习惯使用argv的传统程序员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


#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还是有点不习惯的。

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










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘华世(Moments)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值