Hola.
Lo que yo quiero hacer es comprobar una cadena el problema es que esta cadena cambia no siempre es igual ej: (Last match won by Lucas) lo que siempre cambia es el nombre, intente cortar la cadena original y comprobar la cadena cortada pero no me funciono capas que hice algo mal.
// el code lo saque de google
char *substring(size_t start, size_t stop, const char *src, char *dst, size_t size)
{
int count = stop - start;
if (count >= --size)
{
count = size;
}
sprintf(dst, "%.*s", count, src + start);
return dst;
}
//static const char text[] = "Last match won by Lucas";Corto la cadena después del "by "
char a[19], b[5], sz[100];
sprintf(sz,"%s", substring(1, 15, CadenaOriginal, a, sizeof a));
if (strcmp("Last match won by", sz) == 0)
{
}
Si tienen una mejor forma de hacerlo y me quieren decir mejor :)
Espero que me puedan ayudar gracias!!! ;D
Que es lo que quieres hacer?
Comprobar si cambio la cadena o solo extraer el nombre nuevo?
Saludos!
Lo que yo necesito es comprobar una cadena el problema es que la cadena cambia
Mira un ej
if (strcmp("Last match won by", pMessage) == 0)// La cadena original contiene lo que es (Last match won by Nombre)
{
}
Lo que yo quiero es cortar el nombre y dejar el texto nomas para así poder comprobarlo con un strcmp :)
pero esa cadena tiene que estar en una variable
Cita de: -rn3w- en 23 Agosto 2016, 05:28 AM
pero esa cadena tiene que estar en una variable
No es necesario que este en una variable, si es la una vez que la va usar....
Intenta esto:
char *temp = NULL;
char *last = "Last match won by";
temp = strstr(last,pMessage);
if(temp) { //La cadena en last si esta contenida en pMessage
int last_len =strlen(last);
int len = strlen(pMessage);
int restante = len - last_len;
temp = malloc(restante+1); //Reservamos memoria para el restante de la cadena
memcpy(temp,pMessage+last_len,restante);
printf("%s\n",temp); // temp deberia de contener el restante de la cadena pMessage
}
Saludos!
Gracias ya voy a probar ese code de todos modos encontré una solución a mi problema .
if (strncmp(pMessage, "Last match won by ", 18) == 0)
{
}