Redirigir la salida a una variable
Publicado por Luisda (10 intervenciones) el 02/01/2010 00:21:36
Hola a todos:
Me interesaría saber cómo puedo redirigir la salida estándar (es decir, cualquier mensaje que aparezca por pantalla en la consola) a una variable de entrada. Me explicaré un poco mejor:
Me interesa hacer un programa que mida el retardo de ida y vuelta desde mi PC hasta un host remoto. Para ello mi programa ordenará la ejecución de un ping continuo hasta ese host (por ejemplo, para www.google.es, sería "ping -t www.google.es"). Dado que en cada línea del ping, si hay respuesta, aparece el tiempo de ida y vuelta, de ahí lo extraigo para representarlo gráficamente (me interesa hacer una gráfica deslizante que mida ese retardo). La clave para mí ahora es obtener la manera de coger la cadena de caracteres que genera el ping (que será, entre otras, una línea del tipo "Respuesta desde 209.85.227.99: bytes=32 tiempo=649ms TTL=240") y que en lugar de que salga por pantalla, sea redirigida directamente a una variable de tipo char* (ya me encargaré de procesar esa variable para extraer de ella el tiempo).
La cuestión es: ¿existe alguna manera de hacerlo? Es para MS Visual C++, sé que en Linux existe el mecanismo de las tuberías, aunque no lo he manejado mucho.
Un saludo y feliz 2010.
Me interesaría saber cómo puedo redirigir la salida estándar (es decir, cualquier mensaje que aparezca por pantalla en la consola) a una variable de entrada. Me explicaré un poco mejor:
Me interesa hacer un programa que mida el retardo de ida y vuelta desde mi PC hasta un host remoto. Para ello mi programa ordenará la ejecución de un ping continuo hasta ese host (por ejemplo, para www.google.es, sería "ping -t www.google.es"). Dado que en cada línea del ping, si hay respuesta, aparece el tiempo de ida y vuelta, de ahí lo extraigo para representarlo gráficamente (me interesa hacer una gráfica deslizante que mida ese retardo). La clave para mí ahora es obtener la manera de coger la cadena de caracteres que genera el ping (que será, entre otras, una línea del tipo "Respuesta desde 209.85.227.99: bytes=32 tiempo=649ms TTL=240") y que en lugar de que salga por pantalla, sea redirigida directamente a una variable de tipo char* (ya me encargaré de procesar esa variable para extraer de ella el tiempo).
La cuestión es: ¿existe alguna manera de hacerlo? Es para MS Visual C++, sé que en Linux existe el mecanismo de las tuberías, aunque no lo he manejado mucho.
Un saludo y feliz 2010.
Valora esta pregunta


0