2010-12-03 17 views
5

Estoy escribiendo una aplicación de línea de comandos en C y desde el programa, me gustaría llamar a otras aplicaciones de línea de comandos. Por ejemplo (y solo como un ejemplo claro), diga que me gustaría escribir una aplicación C que llame al compilador de Java. Por un lado, ¿cómo podría hacer esto? ¿Hay una función C que llama directamente a la línea de comando de algo? Para dos, ¿cómo tomaría la salida de texto normal que muestra el compilador de Java y lo mostraré a través del programa c?Llamar línea de comando desde el programa C

Lo siento si esto suena un poco loco, pero soy muy nuevo en C y nunca he hecho algo como esto antes. Me encantaría comenzar a escribir algunas de estas aplicaciones de estilo de utilidad. Si es importante, actualmente estoy ejecutando Windows, pero si es posible preferiría un método independiente de la plataforma, ya que uso Linux de vez en cuando.

Respuesta

6

Puede consultar system. Creo que puede usarlo tanto en Windows como en sistemas UNIX/Linux.

+0

gracias! Me equivoqué con el uso de system() y parece estar haciendo lo que necesito. ¡¡Gracias!! –

+0

tenga en cuenta que el sistema se ejecuta en sincronía (por lo que su proceso esperaría a que el niño termine), si desea ejecución asincrónica busque en CreateProcess Windows API – DennyRolling

+0

@Denny Rolling: Sí, o 'fork' /' exec' para UNIX/Linux. –

-2

Utilice la herramienta adecuada para el trabajo. C no está diseñado para programar este tipo de 'utilidad'. Use un lenguaje de scripting de shell o algo así como Python o Perl.

+0

En realidad, no sabe qué tipo de "utilidad" está tratando de programar, por lo que no puede hacer este tipo de juicio. De lo que estás hablando es básicamente una convención de estilo. Estos generalmente existen por buenas razones, pero no son verdades universales. – xanderflood

Cuestiones relacionadas