[Duda] Llamar a argumentos de otro exe desde C.

Iniciado por k0ws, 15 Mayo 2011, 19:16 PM

0 Miembros y 1 Visitante están viendo este tema.

k0ws

Bueno,mi duda es la siguiente,si yo tengo esto:

#include<stdio.h>
#include<stdlib.h>
int main(){
char cad[20];
printf("Introduce el argumento: ");
scanf("%s",cad);
system("taskkill /f /im %s",cad)
return 0;
}


¿Porque no funciona,cual es el fallo?

-Saludos y Gracias-

Queta

No puedes pasar el parámetro de esta manera (http://www.cplusplus.com/reference/clibrary/cstdlib/system/). Prueba con:

#include<stdio.h>
#include<stdlib.h>

int main()
{
char cadena[20];
char temporal[100];

printf("Introduce el argumento: ");

scanf("%s", cadena);

sprintf(temporal, "taskkill /f /im %s", cadena);

system(temporal);

return 0;
}


"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

k0ws

#2
Mil Gracias,funciona perfectamente  :D.

Con numeros,¿seria asi no?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int num;
char temporal[100];

printf("Introduce el argumento: ");

scanf("%d", &num);

sprintf(temporal, "taskkill /f /im  %d", num);

system(temporal);

return 0;
}


-Saludos-

Queta

#3
De nada. A ver, si quieres números también puedes utilizar el código que te dí ya que un número es un carácter. El problema del tuyo es que no reservas suficiente memoria (prueba de escribir: 12345678901, y en vez de taskkill utiliza echo, para ver si el input es el mismo que el output) además de que con una cadena de caracteres puedes jugar con números y letras.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.