将文件的每一行作为命令行参数传递给二进制文件
Passing each line of a file as command line argument to a binary file
我有一个二进制文件:temp.exe
此二进制文件(temp.exe)包含两个命令行参数a
和b
。
我还有一个文件agrsList.txt
,其中包含:
a1 b1
a2 b2
a3 b3
: :
: :
an bn
现在,我想把这个文件的每一行作为参数传递给二进制文件。
PS:我没有访问源代码的权限,因此我可以编辑代码并使其读取文件
有没有一种方法可以解决这个问题(无需编写脚本)。
您可以使用
xargs -rn 2 temp.exe < agrsList.txt
-r
意味着temp.exe
仅在存在参数的情况下运行。-n 2
意味着temp.exe
最多使用两个参数运行。如果agrsList.txt
中有奇数个字,那么temp.exe
将只运行一个参数,即最后一个参数。
有关更多信息,请参阅man xargs。
这样简单的事情通常最好由一种"脚本"语言,但它在C++。如果您正在从中的标准读取文件
std::string args;
while ( std::getline( std::cin, args ) ) {
system( ("temp " + args).c_str() );
}
应该是你所需要的。(但是你没有说你想做什么如果temp
失败。)
相关文章:
- 如何在不传递命令行参数的情况下在 c++ 中设置环境变量
- 如何在 Android/NDK 上将命令行参数从 gradlew.bat 传递到 Clang
- 在VS2013中使用devenv (C++)传递命令行参数argv
- 需要有关如何设置getopt_long以正确传递命令行参数的建议
- 如何在C++中通过命令行参数传递常量 int
- 在 main() 中传递C++命令行参数,但要做同样的工作
- 将文本文件而不是用户输入作为命令行参数传递
- 将字符串作为命令行参数传递
- 如何将命令行参数与c++中的选项一起传递给函数
- 如何在 Visual Studio 2015 调试中将'%'符号作为命令行参数 (argv) 传递?
- C++ LPCTSTR 如何将命令行参数传递给子进程
- C++如何在进程之间传递命令行参数
- 将命令行参数输入文件传递给要分析的类
- 将文件的每一行作为命令行参数传递给二进制文件
- 将Unicode命令行参数传递到控制台应用程序
- Linux将连续输出作为命令行参数传递
- 在C++中传递命令行参数
- Boost::Program_options,传递未知的命令行参数
- 创建进程不会将命令行参数传递给新进程的主函数
- 从服务器中不同位置的命令行参数传递的打开文件名