首页 资讯 社群 我的社区 搜索

还是关于命令行传参的问题

木须虎
2020-07-02 10:20:47

还是关于命令行传参的问题,小朋友写了一个windows 上的控制台程序,在cmd 里运行,运行的时候需要传入参数,那我们在 main 函数如何接收传入的参数呢?

一次全交代了:

标准 C 

int main(int argc, char *argv[])
{
	for (int i = 0; i < argc; i++ )
	{
		printf( "argv[%d]: %s n" ,i, argv[i]   );
	}
	return 0;
}

Win32

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
                     _In_opt_ HINSTANCE hPrevInstance,
                     _In_ LPWSTR    lpCmdLine,
                     _In_ int       nCmdShow)
{
    //lpCmdLine 
}   

{
    int out_y = 10;
    for (int i = 0; i < __argc;i++ )
    {
        TextOut(hdc, 10, out_y, __wargv[i], lstrlen(__wargv[i]) );
        out_y += 25;
    }
    
}

 

MFC

void CMFCApplication4Dlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	CString commandLine = GetCommandLine();
	AfxMessageBox(commandLine);
	//CDialogEx::OnOK();
}

MFC 中获取命令行参数最简单,也不需要放在入口处,任意地方都可以全局调用 GetCommandLine();

用户评论