Garret Raziel
Garret Raziel

Reputation: 385

Bash input/output in C++

I'm writing program in C++ (for XAMPP communication) and I want to execute command which I have in strings (I know that this is simply system("command")) but I want to get the output from bash to C++ to string. I've founded several threads about this, but no which solved Bash -> C++.

Upvotes: 4

Views: 1484

Answers (3)

jpmelos
jpmelos

Reputation: 3562

You can call the FILE *popen(const char *command, const char *mode) function. Then, you can read the file it returns to get the output of your call.

It's like using a pipe to redirect the output of the command you used to a file in the hard drive and then read the file, but you don't get to create a file in the hard drive.

The documentation of the popen() is here.

Upvotes: 4

Baget
Baget

Reputation: 3346

You can try Standard Output Redirection to redirect the standard output to a file stream and then use it to read to a string.

Dup()

Upvotes: 1

Martin v. Löwis
Martin v. Löwis

Reputation: 127467

You need to call the popen function, and read the output from the FILE it returns.

Upvotes: 2

Related Questions