【发布时间】:2014-09-25 17:48:00
【问题描述】:
我正在编写和运行程序,我需要将一长串数据文件传递给这些程序进行分析,有时是几十万。问题是参数列表可能太长以至于系统(Unix)拒绝运行它,输出:
bash: ./yourProgram: Argument list too long
是否有我可以更改的环境变量来绕过这个障碍?
我能想到的唯一解决方案是将我的程序列表写入一个单独的文件(使用ls ... >),然后逐行读取每个文件。你知道更简单的吗?
ps:如果重要的话,我的程序是用 C++ 编写的
【问题讨论】:
-
通过
stdin而不是参数列表发送文件列表有什么问题吗?只是好奇。 -
这是一种荒谬的做法。正如 WhozCraig 所说,使用
stdin。这就是它的用途。 -
确实,我不知道
stdin,只是实现了它。不确定它是否值得分享。
标签: c++ command-line-arguments