我無法使用getopt_long()函數與自定義argc和argv。getopt_long()函數與自定義argc和argv
我收到我的參數在一個字符串,而不是真正的命令行參數。然後,從這個字符串構建一個new_argc和new_argv以與getopt_long()一起使用。但getopt_long()在第一次調用時失敗。返回EOF並且optarg = NULL。
string is "-c 10.30.99.41"
new_argc = 3
new_argv[0]=>./prog_name
new_argv[1]=>-c
new_argv[2]=>10.30.99.41
getopt_long對我有用,如果我傳遞命令行參數。所以我的短期和長期的選擇是正確的。但是,如果我通過new_argc和new_argv它失敗。
我相信我的短期和長期的選擇是正確的,argv是NULL終止。我道歉我不能在這裏發佈更多的代碼。
我懷疑getopt_long是否可以與自定義argc和argv一起使用。我懷疑它只適用於真正的argc和argv,因爲它必須引用與argc,argv相關的libc中的其他代碼。任何意見?
option = getopt_long(new_argc, new_argv, short_options, long_options, NULL);
你要發佈字符串是什麼以及它是如何用來構建列表的? – Random832
正在更新帖子.. – n00pster
你做錯了。 – 2011-10-28 16:17:47