Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Schaiden en 1 Octubre 2015, 20:21 pm



Título: ¿Cómo usar el valor de una variable dentro de system(" "); ?
Publicado por: Schaiden en 1 Octubre 2015, 20:21 pm
Hola gente, que tal!? Bueno, básicamente ésta es la duda, no se como utilizar una variable (de tipo cadena, o puntero a char, como quieran llamarle) dentro de una llamada al sistema system(" "); ...

La otra duda que tengo es: como dirigir la salida de dicho comando system(" "); a otra variable de tipo cadena... Por ejemplo, si hago un system("ls"); Me gustaría tener todos los archivos dentro de una variable...

Por ejemplo, mi idea era recibir a través de un socket un comando, el comando ejecutarlo (si es externo) y si es interno, dirigir la salida del comando a otra variable, y dicha variable reenviarla por un socket...

Gracias desde ya por la ayuda!! Saludos




Título: Re: ¿Cómo usar el valor de una variable dentro de system(" "); ?
Publicado por: user-marcos en 2 Octubre 2015, 20:46 pm

La librería es #include <stdlib.h> o #include <cstdlib>
Para usar la funcion system("X") sinedo X char, si usas string tendrás que realizar la conversión.

2º Para guardar la salida de ls, una manera muy sencilla es redirigiendo el flujo de salida:

system("ls >mi_salida.txt")
el archivo se genera en el mismo lugar de ejecución del programa, por lo que lo puedes cargar con:
#include <fstream>
ifstream load("mi_salida.txt") y luego haces la carga al un string.