通过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

因此,我的程序的目的是模拟聊天——一个文本文件包含响应(称为r.txt),我将消息写入另一个文本文件(称为m.txt)。我要做的是使用xcode在c文件中为它编写代码,然后在我的命令终端中调用该程序(我使用的是MacOSX)。我的问题是-如何使用终端将多个参数传递给C程序


我看到主要有两个变量,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?