Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Kaxperday en 13 Noviembre 2015, 15:07 PM

Título: La magia del string.find()
Publicado por: Kaxperday en 13 Noviembre 2015, 15:07 PM
Se solucionó, tenía que ver con esa igualdad que haces dentro de una condicion a la que hay que meter entre parentesis...

fue algo mágico de todas maneras:

Código que funciona:

Código (cpp) [Seleccionar]
void filtrar_pregunta_http(u_char* _datos, int _tamaño)
{
string paquete = string(reinterpret_cast<char*>(_datos), _tamaño);
int tamaño = _tamaño;
int pos = 0;
while ((pos = paquete.find("https://", pos)) != string::npos){
paquete.replace(pos, 5, "http");
tamaño--;
}
cout << "pos: " << pos << endl;
if ((pos = paquete.find("Accept-Encoding: ")) != string::npos){
int pas = pos;
while (paquete[pas] != '\n'){
printf("%c", paquete[pas]);
pas++;
}
paquete.erase(pos, pas - pos + 1);
}
cout << paquete.c_str() << endl;
}