c-如何将命令行争论传递给我的主函数



所以我的主要函数如下:

int main(int numberOfArguments, char* argumentArray[]) {
        if (assemble(numberOfArguments, argumentArray)) {
                return 0;
        } else {
                return -1;
        }
}

我想能够在命令行给出论点

./program inputFile.txt outputFile.txt // PROBLEM IS that this is being interpreted as 3 command line arguments somehow when it is only 2.

其中inputFile.txt是argumentArray[0],outputFile.txt是argumentArray[1]

从文本命令行生成参数是特定于平台的,但argv数组的第一个元素几乎总是用于查找程序的名称。

如果您想放弃第一个参数,只需将其添加到main:的开头即可

-- numberOfArguments;
++ argumentArray;

在命令行中键入的每个单词(以可执行文件名开头)都会在开始时传递给主函数。相关问题

第一个参数argumentArray[0]在保留的实际问题中是可读的。之后,您将每个单词(在命令行中用空格分隔)作为argumentArray中的一个元素。

argumentArray的大小由numberOfArguments给定。

因此,如果你坚持让你的输入文件在[0]上,你应该使用一些指针算法,比如argumentArray++;否则,您将自动获得[1]和[2]中的给定数据。

相关内容

  • 没有找到相关文章

最新更新