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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Como extraer cadenas especificas de un perfil wireless xml?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como extraer cadenas especificas de un perfil wireless xml?  (Leído 9,488 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #10 en: 25 Abril 2015, 17:44 pm »

Son de la librería <iostream>.

Cuando tengas esas dudas, te es más cómodo escribir "cout" en Google, y ya obtienes la solución :/


En línea

Romualdo23

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #11 en: 25 Abril 2015, 17:51 pm »

Vale, vamos avanzando, habia que añadir esto:

Código
  1. using std::string;
  2. using std::cout;
  3. using std::endl;

Ahora si me devuelve la posicion con:

Código
  1. cout << endl << L"INFO: begin_pos: " << begin_pos;
  2. cout << endl << L"INFO: end_pos: " << end_pos;



Ahora solo falta extraer la cadena, he probado con

Código
  1. wprintf(L"\nINFO: Nombre del perfil: ", extract);

Pero no devuelve nada.

Edito:

Bueno, esto va mejorando.. Ahora ya me muestra algo, pero parece que por algun motivo, no se selecciona bien la longitud de los datos que tiene que extraer y me muestra mas caracteres de los que deberia:



El comienzo lo hace bien ya que se puede ver que comienza a extraer desde "MiRed", pero como digo, la longiud de los datos que captura no es la correcta, deberia capturar solo hasta "</name>", quedando en consola solamente "MiRed"

Este es el codigo que utilizo:

    
Código
  1. int size = 1000;
  2.  
  3.    std::string text(profBuffer, profBuffer+ size);
  4.  
  5.    std::string begin_text("<name>");
  6.    std::string end_text("</name>");
  7.  
  8.    size_t begin_pos = text.find(begin_text) + begin_text.length();
  9.    size_t end_pos = text.find(end_text);
  10.  
  11.    std::string extract = text.substr(begin_pos,end_pos);
  12.  
  13.    const char* NombrePerfil = extract.c_str();
  14.  
  15.    std::cout << NombrePerfil << std::endl;

Edito de nuevo:

Pues ya esta resuelto, con tantos cambios habia olvidado reemplazar otra vez la linea que me dijiste ayer:

Código
  1. std::string extract = text.substr(begin_pos,end_pos);

                                                                         Por

Código
  1. std::string extract = text.substr(begin_pos,end_pos-begin_pos);


Una ultima pregunta..

Es posible guardar los datos extraidos en una variable, para utilizar posteriormente esos datos sin tener que volver a consultar el perfil xml?


« Última modificación: 25 Abril 2015, 20:17 pm por Romualdo23 » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #12 en: 25 Abril 2015, 20:33 pm »

Vale, vamos avanzando, habia que añadir esto:

Código
  1. using std::string;
  2. using std::cout;
  3. using std::endl;

Si quieres puedes poner solo:
Código
  1. using namespace std;


Los datos extraidos ya los tienes en extract, no?
En línea

Romualdo23

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #13 en: 25 Abril 2015, 21:29 pm »

Si, pero me refiero a si quiero utilizar los datos en otra funcion. Primero habria que crear una variable global para pasarle los datos extraidos y luego esa variable poder usarla en cualquier parte del codigo.

En vb.net se hacerlo, pero no en C++

En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #14 en: 25 Abril 2015, 21:57 pm »

Código
  1. std::string text(profBuffer, profBuffer+ size)
Esa variable haces con ella lo que quieras.
En línea

Romualdo23

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #15 en: 25 Abril 2015, 22:13 pm »

Pero ilustrame un poco hombre, que nunca he tocado este lenguaje de programacion..

Un pequeño ejemplo o algo, no se..
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Como extraer cadenas especificas de un perfil wireless xml?
« Respuesta #16 en: 25 Abril 2015, 22:20 pm »

Como en VB, son variables. No hay mucho no obvio que decir de ellas. En VB son paredicas. Con esa string haces lo que quieras, se la mandas a funciones, la copias en otra variable, lo que sea.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Normas específicas de Hacking Wireless
Hacking Wireless
pianista 6 231,474 Último mensaje 22 Septiembre 2009, 16:50 pm
por KARR
[RETO] + Funcion Extraer Numeros de Cadenas! [Cpp/C] « 1 2 3 4 »
Programación C/C++
x64core 39 36,674 Último mensaje 8 Enero 2012, 00:58 am
por Eternal Idol
[RETO] + Funcion Extraer Numeros de Cadenas! « 1 2 ... 5 6 »
Programación Visual Basic
x64core 55 29,428 Último mensaje 9 Enero 2012, 10:26 am
por Psyke1
Matriz Dinamica en c++. Como rellenarla en coordenadas especificas? « 1 2 3 »
Programación C/C++
xuhipoint 28 20,551 Último mensaje 12 Marzo 2014, 01:17 am
por Yoel Alejandro
Forma de extraer archivos en rutas específicas
Windows
Baal_30 3 3,327 Último mensaje 1 Abril 2016, 17:47 pm
por [Arg] $triker;
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines