Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
通过命令行控制shell程序,为其提供多条指令/数据 我需要控制一个C++程序(Windows),我需要调用它,然后在收集它的时候把数据传递给它,最后在程序使用该数据之后的某个命令。_C++_Shell_Command Line_Controls - Fatal编程技术网

通过命令行控制shell程序,为其提供多条指令/数据 我需要控制一个C++程序(Windows),我需要调用它,然后在收集它的时候把数据传递给它,最后在程序使用该数据之后的某个命令。

通过命令行控制shell程序,为其提供多条指令/数据 我需要控制一个C++程序(Windows),我需要调用它,然后在收集它的时候把数据传递给它,最后在程序使用该数据之后的某个命令。,c++,shell,command-line,controls,C++,Shell,Command Line,Controls,我需要打开prog.exe,然后逐行或逐值提供信息,它通过cmd手动工作 我已尝试system(),但在打开程序后,此操作将停止 我需要这样的东西 //call it prog.exe //add data DataStart Data 1 [2 34 454 5]//etc DataEnd //the program will take it from here. 通过命令行传递所有数据有不同的方法可以做到这一点-如果您的程序需要在将数据作为输入之前执行代码的一部分,您可以使用标准输入,并提

我需要打开prog.exe,然后逐行或逐值提供信息,它通过cmd手动工作

我已尝试system(),但在打开程序后,此操作将停止

我需要这样的东西

//call it
prog.exe
//add data
DataStart
Data 1 [2 34 454 5]//etc
DataEnd //the program will take it from here.

通过命令行传递所有数据有不同的方法可以做到这一点-如果您的程序需要在将数据作为输入之前执行代码的一部分,您可以使用标准输入,并提示用户键入数据。如果您想对输入使用变量值,但在执行之前就知道这些值,那么可以将这些信息作为命令行参数传递,在命令行参数中执行

prog.exe 1 2 3

您的程序将通过argv[i]访问数据,其中i对应于每个命令行参数。

让您的程序从标准输入读取数据,并从命令行“管道”将另一个程序的结果传输到您的程序

例如

datagenerator.exe | prog.exe


假设datagenerator.exe写入标准输出,|字符将把输出重定向到prog.exe的标准输入

仅从标准输入读取。您的意思是,
prog.exe
将从标准输入读取数据吗?你可能是那个意思。不是完全重复的,但答案应该是有用的。对不起,如果我把这个答复放在错误的部分。我不知道任何值,因此无法对命令行进行语法分析。通过调用程序,它在shell中启动,然后将用户输入作为其变量等。接受这些输入的程序不是我的。我想输入这些变量,但是每次都需要查询。我需要统计程序并保留对它的访问权限,这样我就可以按要求添加这些数据。