elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre la consola y entrada de datos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre la consola y entrada de datos.  (Leído 3,665 veces)
vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Duda sobre la consola y entrada de datos.
« en: 13 Febrero 2014, 19:12 pm »

Buenas compañeros.
Una pregunta sobre la consola.
Imagine que entro con un comando cualquier como ipconfig /all...
Lógicamente va a devolverme todo los numerillos de la red  :xD
Hay alguna forma de leer esos datos para hacer con ellos algo interesante como guardarlos o lo que sea?
Ya se que esta el comando netsh y otros para ip pero repito, la cuestión es: ¿Puedo leer esos datos?  :huh:
O otra cosa que pienso es si se puede leer esto y pasarlo a modo gráfico con alguna libreria como sdl(cosas mias vamosXD). :3
¡Gracias y saludo a los foreros! ;-)

PD: Uso XP por si necesitan saber, pero me vale también para 7 linux o lo que sea.
Lo que quiero es pillar la punta del hilo que no se por donde meter mano.
Cuando pongo leer datos por la consola me sale siempre leer desde teclado o me da cosas como el uso de int argc, char *argv[]. No se si es la única forma de hacer.
Si saben alguna pagina para poder entenderlo para dumies.


« Última modificación: 13 Febrero 2014, 19:17 pm por vangodp » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #1 en: 13 Febrero 2014, 19:43 pm »

Citar
Hay alguna forma de leer esos datos para hacer con ellos algo interesante como guardarlos o lo que sea?

Si escribis este comando ipconfig >> Resultado.txt te va a guardar en un archivo de texto el resultado de ipconfig

Citar
O otra cosa que pienso es si se puede leer esto y pasarlo a modo gráfico con alguna libreria como sdl

No conozco de esa librería,, peero.. si guardas la información en un archivo lo podes leer y supongo poner esos datos en un programa..

Saludos!


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #2 en: 13 Febrero 2014, 21:20 pm »

Es una forma.
La forma que comentas también sirve, no esta mal.
A ver si alguien sabe como hacer sin pasarlo a archivo.
Caso contrario sera la única solución.
Creo que no se puede, pero quien sabe. :D
Gracias vaagish.  ;-)
En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #3 en: 13 Febrero 2014, 21:46 pm »

joe.. para linux encontré eso en bash, es lo mismo, pero necesito para cpp XD

var=$(comando)

Nota: esta sintaxis es preferible a la antigua que utiliza estos caracteres: (`comando`)
Ejemplos

    Guardar de la salida estándar:
        únicamente stdout
            var=$(comando)
        stdout y stderr
            var=$(comando 2>&1)
        Guardar el código de retorno ($?)
            únicamente código de retorno
                comando
                var=$?
            Los dos
                var=$(comando)
                var=$?

 :rolleyes:
En línea

Yugget

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #4 en: 13 Febrero 2014, 21:48 pm »

A lo de guardar a que te refieres... guardarlo en el tiempo de ejecución del programa o guardarlo para siempre...

Osea si es por un momento que se ejecute ese comando, ¿no lo podrías almacenar en una variable?.

Y si es para siempre por así decirlo, ¿no podrías guardarlo en una base de datos?.

Saludos.  ;)
En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #5 en: 13 Febrero 2014, 22:31 pm »

¿no lo podrías almacenar en una variable?.

En una variable me refiero, un tipo string o algo.
Y no me refiero solo al caso de la ip.
Hay muchos comandos que retornan datos al que me interesaría guardar en un string o en una variable de otros tipos.  :¬¬
Por ejemplo:
En Delphi creo, hay una función según he leído que te ejecuta el comando y lo guarda el resultado en un string.
ExecuteDOSCommand(CommandLine:string)

No se como funciona exactamente por que no entiendo un pimiento de dhelphi XD, pero me parece la caña si se pudiera hacer eso en cpp. :rolleyes:
« Última modificación: 13 Febrero 2014, 22:37 pm por vangodp » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #6 en: 13 Febrero 2014, 22:43 pm »

Creo que acá esta la solución.. (la búsqueda de google me mando al foro)  ;-)

http://foro.elhacker.net/programacion_cc/almacenar_salida_del_comando_system_en_una_variable-t80037.0.html

Suerte! Saludos! De nada!  ;D

PD: No lo lei,, pero me parece que dieron con la tecla ahi!

EDITO:Ahora si lo lei,, funciona ferpecto!

Código
  1. #include <windows.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. FILE *PIPE;
  8. PIPE = _popen("ipconfig","r");
  9.  
  10. char buf[128];
  11.  
  12. while(!feof(PIPE))
  13. {
  14. fgets (buf, 128, PIPE);
  15. printf(buf);
  16. }
  17.  
  18. _pclose(PIPE);
  19.  
  20. cin.get();
  21. return 0;
  22. }
« Última modificación: 13 Febrero 2014, 22:50 pm por Vaagish » En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #7 en: 13 Febrero 2014, 23:15 pm »

Me funciono este :D
Pinta muy bien.
Voy a buscar mas información a ver como es su funcionamiento.
Al parecer abre un proceso o algo por el estilo, aun no lo tengo muy claro.

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. FILE *in;
  8. char buff[200];
  9.  
  10. if ( ! ( in = popen ( "ipconfig", "r" ) ) ) {
  11. return 1;
  12. }
  13.  
  14. while ( fgets ( buff, sizeof ( buff ), in ) != NULL ) {
  15. cout << buff;
  16. }
  17.  
  18. pclose ( in );
  19.  
  20. return 0;
  21. }

http://www.sw-at.com/blog/2011/03/23/popen-execute-shell-command-from-cc/De aqui lo saque.
No creo que encontremos nada mejor :D
Gracias vaagish, eres un fiera  ;-)

version en cpp:
Código
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. FILE *in;
  8. char buff[512];
  9.  
  10. if(!(in = popen("ls -sail", "r"))){
  11. return 1;
  12. }
  13.  
  14. while(fgets(buff, sizeof(buff), in)!=NULL){
  15. cout << buff;
  16. }
  17. pclose(in);
  18.  
  19. return 0;
  20. }
  21.  
  22.  
« Última modificación: 13 Febrero 2014, 23:20 pm por vangodp » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Duda sobre la consola y entrada de datos.
« Respuesta #8 en: 13 Febrero 2014, 23:50 pm »

De nada,, a veces encuentro cosas,, a veces... jeje
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda entrada de datos (JAVA)
Java
Alfai 4 5,675 Último mensaje 13 Abril 2007, 00:39 am
por Alfai
Entrada de datos desde consola y validación.[Segmentation fault](Resuelto)
Programación C/C++
Tha_Traker 5 4,430 Último mensaje 12 Mayo 2010, 18:23 pm
por Tha_Traker
Ocultar texto de entrada en consola
GNU/Linux
d00ze13 1 5,547 Último mensaje 25 Octubre 2010, 17:05 pm
por d00ze13
duda con n entrada de datos...
Java
rub'n 4 5,701 Último mensaje 31 Octubre 2010, 23:24 pm
por rub'n
acentos en consola contra entrada por teclado
Programación C/C++
esbidrus 0 1,641 Último mensaje 27 Abril 2017, 17:10 pm
por esbidrus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines