Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将文件名列表传入C程序_C_File_Arguments - Fatal编程技术网

如何将文件名列表传入C程序

如何将文件名列表传入C程序,c,file,arguments,C,File,Arguments,如何说他们的C程序应该接受文件列表 例如,我的程序blah应该通过控制台中的以下调用接受hello.txt: blah hello.txt 我不知道如何解析一个参数并将其标记为文件路径(getopt没有提到这一点)。只需解析该参数,并在路径上执行open(),该路径就是参数本身,即在您的例子中的hello.txt。getopt()permutesargv[]以便将所有非选项拖到最后,因此,您只需调用getopt()解析所有选项,然后通过argv[optind]循环到argv[argc]。这些应

如何说他们的C程序应该接受文件列表

例如,我的程序
blah
应该通过控制台中的以下调用接受
hello.txt

blah hello.txt

我不知道如何解析一个参数并将其标记为文件路径(getopt没有提到这一点)。

只需解析该参数,并在路径上执行open(),该路径就是参数本身,即在您的例子中的hello.txt。

getopt()
permutes
argv[]
以便将所有非选项拖到最后,因此,您只需调用
getopt()
解析所有选项,然后通过
argv[optind]
循环到
argv[argc]
。这些应该是您的文件名,当然您需要检查这些文件是否确实存在,等等。C没有文件的原语。这是有关的一些文档。

请回顾您以前提出的问题,并将其设置为“已回答”(如果可能)您确定
hello.txt
将与
blah
的运行目录位于同一目录中,或者用户输入的文件与工作目录不同,如下所示:
blah blahFolder\bla\hello.txt