通过C传递/使用终端参数
因此,我的程序的目的是模拟聊天——一个文本文件包含响应(称为r.txt),我将消息写入另一个文本文件(称为m.txt)。我要做的是使用xcode在c文件中为它编写代码,然后在我的命令终端中调用该程序(我使用的是MacOSX)。我的问题是-如何使用终端将多个参数传递给C程序通过C传递/使用终端参数,c,macos,file,terminal,C,Macos,File,Terminal,因此,我的程序的目的是模拟聊天——一个文本文件包含响应(称为r.txt),我将消息写入另一个文本文件(称为m.txt)。我要做的是使用xcode在c文件中为它编写代码,然后在我的命令终端中调用该程序(我使用的是MacOSX)。我的问题是-如何使用终端将多个参数传递给C程序 我看到主要有两个变量,int argc和const char*argv[]。那么C是否使用数组来解释多个命令行参数呢?因为本质上我会做一些类似“$(程序名)、文件名、文件名”的事情。我如何在我的C文件中引用它们?主函数是:in
我看到主要有两个变量,int argc和const char*argv[]。那么C是否使用数组来解释多个命令行参数呢?因为本质上我会做一些类似“$(程序名)、文件名、文件名”的事情。我如何在我的C文件中引用它们?主
函数是:intmain(intargc,const char*argv[])
第一个argc
是数组argv
中的元素数。第一个元素是程序名。在此之后,您将获得每个给定参数的字符串
命令行(shell)用空格分隔参数(默认情况下)。因此myprog-foo-bar
将导致argv[0]=“myprog”argv[1]=“foo”argv[2]=“bar”
(此处argc=3
)
有几个空格不算在内。如果参数包含空格,则必须使用引号(即,myprog”arg和空格“other”many If want”
函数是:int main(int argc,const char*argv[])
第一个argc
是数组argv
中的元素数。第一个元素argv[0]
是程序名。然后是每个给定参数的字符串
命令行(shell)用空格分隔参数(默认情况下)。因此myprog-foo-bar
将导致argv[0]=“myprog”argv[1]=“foo”argv[2]=“bar”
(此处argc=3
)
有几个空格不计算在内。如果参数包含空格,则必须使用引号(即,myprog”arg和空格“other”many If wanted”
main
函数是:int main(int argc,const char*argv[])
第一个argc
是数组argv
中的元素数。第一个元素argv[0]
是程序名。然后是每个给定参数的字符串
命令行(shell)用空格分隔参数(默认情况下)。因此myprog-foo-bar
将导致argv[0]=“myprog”argv[1]=“foo”argv[2]=“bar”
(此处argc=3
)
有几个空格不计算在内。如果参数包含空格,则必须使用引号(即,myprog”arg和空格“other”many If wanted”
main
函数是:int main(int argc,const char*argv[])
第一个argc
是数组argv
中的元素数。第一个元素argv[0]
是程序名。然后是每个给定参数的字符串
命令行(shell)用空格分隔参数(默认情况下)。因此myprog-foo-bar
将导致argv[0]=“myprog”argv[1]=“foo”argv[2]=“bar”
(此处argc=3
)
有几个空格不计算在内。如果参数包含空格,则必须使用引号(即myprog“arg加空格”或“其他”多个空格,如果需要的话)
请参见索引1
处数组的每个元素argv
(读作:“参数值”)是一个包含一个命令行参数的C字符串(argv[0]
通常包含程序名。)argc
(读作:“参数计数”)告诉您有多少个参数。好的,我明白了。那么如果我执行类似“$(程序名”)、r.txt、m.txt”的操作,则argv[1]将是r.txt和argv[2]是否为m.txt?请参见索引1
处数组argv
(读作:“参数值”)的每个元素是一个C字符串,其中包含一个命令行参数(argv[0]
通常包含程序名)。argc
(读作:“参数计数”)告诉你其中有多少个。好的,我明白了。那么如果我做一些类似“$(程序名称)”、r.txt、m.txt的事情,那么argv[1]将是r.txt,argv[2]将是m.txt?查看数组的每个元素argv
(读作:“参数值”)在索引1
或更大的位置,是一个C字符串,其中包含一个命令行参数(argv[0]
通常包含程序名)。argc
(读作:“参数计数”)告诉您有多少个参数。好的,我明白了。那么如果我执行类似“$(程序名)”,r.txt,m.txt的操作,则argv[1]将是r.txt,argv[2]将是m.txt?请参见索引1
处数组的每个元素argv
(读作:“参数值”),或更大的是一个包含一个命令行参数的C字符串(argv[0]
通常包含程序名称)。argc
(读作:“参数计数”)告诉你其中有多少。好的,我明白了。那么,如果我做一些类似“$(程序名称)”,r.txt,m.txt的事情,那么argv[1]将是r.txt,argv[2]将是m.txt?