如何将bash命令中的参数传递给c?
中的程序例如,如果我有一个看起来像这样的命令:
./c_program argument
如何在C程序中访问该参数? 我可以像bash一样使用$ 1等变量吗?
答案 0 :(得分:1)
尝试以下代码,看看它在不同数量的参数中的表现如何:
C:\Users\...> webdriver-manager start --ignore_ssl
events.js:163
throw er; // Unhandled 'error' event
^
Error: self signed certificate in certificate chain
at TLSSocket.<anonymous> (_tls_wrap.js:1084:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:188:7)
at TLSSocket._finishInit (_tls_wrap.js:606:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:436:38)
答案 1 :(得分:0)
正如 Stephan Lechner 在其代码中所述,您使用变量argc
和argv
。首先,您必须在代码中使用int main(int argc, char **argv) {
来获取这些变量。 char **argv
可能会有所不同,即char *argv[]
有效,const char *argv[]
char **argv
本质上是strings
的数组,但这种字符串更好地称为char array
(&#39;字符数组的缩写&#39;)。你会想要使用它:
int option1 = 0;
for(int i = 1; i < argc; i++) {
if(strcmp(argv[i], "--the-input-you-were-expecting-here") == 0)
option1 = 1;
}
注意:argv包含命令的 ./ c_program 部分作为第一个索引,如果您的命令为{{1,则argv[0]
的结果将等于"./c_program"
}}