2016-07-01 27 views
0

使用Windows C++並使用​​來獲取函數中的參數。有沒有類似的函數可以返回命令行中的參數個數?恭維GetCommandLine獲得參數計數?

我無法從主得到它,因爲我現在用的是

int WINAPI _tWinMain(HINSTANCE /*hInstance*/, 
    HINSTANCE /*hPrevInstance*/, 
    LPTSTR /*lpCmdLine*/, 
    int /*nShowCmd*/) 

主要功能。

+1

你得到1個參數一個參數,通過空間剝離: 所有的。你必須自己解析字符串 – BeyelerStudios

+1

我認爲你正在尋找'CommandLineToArgvW'。 – Caramiriel

+1

如果使用Microsoft的VC++編譯器(和CRT)版本2013或更高版本,請查看[__argc,__argv,__wargv](https://msdn.microsoft.com/zh-cn/library/dn727674.aspx)。 – dxiv

回答

3

的方法是使用另一種API與GetCommandLine

int numArgs = 0; 
LPCWSTR *argv[] = CommandLineToArgvW(GetCommandLineW(), &numArgs); 

現在numArgs的參數的計數,argv中的指針的參數數組。 CRT啓動代碼使用該功能來構建的argv

的argv [0]是模塊的一個名字,argv的[N],其中n> 0是線的