开发者

Control a shell program through command line, giving it multiple instructions/data

开发者 https://www.devze.com 2023-01-06 19:36 出处:网络
I need to control a program in c++ (windows), I need to call it, then pass data to it as I collect it, finally after a certain command that program will use that data.

I need to control a program in c++ (windows), I need to call it, then pass data to it as I collect it, finally after a certain command that program will use that data.

I need to open the prog.exe and then line by line or value by value supply it information, it works manually through cmd.

I have tried system() but this will stop after I open the program.

开发者_StackOverflow

I need something like this.

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

all being passed though command line


There are different ways you could do this - if your program needs to execute part of the way through your code before getting the data as input, you can just use standard input, and prompt the user to type the data. If you want to use variable values for the input, but you will know them before execution, you can pass the information as command line arguments, where you will execute like so

prog.exe 1 2 3

and your program will access the data via argv[i] where i corresponds to each command line argument.


have your program read from standard input, and from the command line 'pipe' the result of the other program to yours

eg.

datagenerator.exe | prog.exe

assuming that datagenerator.exe writes to standard output, the | character will redirect the output to prog.exe's standard input

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号