C/Visual C - Ayudita con una pequeña funcion que estoy haciendo

 
Vista:

Ayudita con una pequeña funcion que estoy haciendo

Publicado por agustin (5 intervenciones) el 04/02/2004 05:22:52
Estoy haciendo una funcion que recibe un string y un atributo a buscar dentro del string y obtenga los datos seguidos a estos atributos...
Por ejemplo;
recibe esta cadena:
int main;

supuestamente la funcion me deberia devolver main, pero me devuelve solo m... la verdad que no se que error puede tener... no lo ecuentro.. Gracias por la ayuda..

*char analizostring (char *stringquerecibo, char *atributoabuscar, char *dondeguardo){
char *pos; /*Posicion dentro del string*/

if ((pos = strstr (stringquerecibo, atributoabuscar)) == NULL){
return 0;
}
pos += strlen (atributoabuscar);
if (*pos != '\n'){
if (*pos != ('{' || '}' || ';' || ')' || '(' )){
*(dondeguardo++) = *(pos++);
} else {
*dondeguardo= '\0';
}
}
return 1;
}

Gracias por su ayuda..

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayudita con una pequeña funcion que estoy hacie

Publicado por agustin (5 intervenciones) el 04/02/2004 05:44:41
Perdon es sin esta sentencia if...
if (*pos != '\n')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesitas un ciclo para leer todos los caracteres

Publicado por s (4 intervenciones) el 05/02/2004 00:29:13
Hola.

En primer lugar tu función solo regresa "m" para la cadena "int main;" debido a que no estas utilizando un ciclo. Es decir, tu función solo lee un caracter y termina.

Para corregir eso te sugiero utilizar un ciclo while como el siguiente:

//pos += strlen (atributoabuscar); <---elimina esto ya que te estas //brincando letras

while(*pos){
if (*pos != ('{' || '}' || ';' || ')' || '(' ))
{
*(dondeguardo++) = *(pos++);
} else {
*dondeguardo= '\0';
}
}//fin del while

El ciclo anterior termina cuando lea un caracter '\0', es decir el fin de la cadena. Sin embargo esta solución te produce el inconveniente de que para la cadena "int main;" te regresa "main;" ,es decir, con el punto y coma al final.

Me parece que quieres hacer algo complejo con esta función, asi que si tienes más problemas, pon un mensaje en el foro. No te pongo mi e-mail para evitarme algunos problemas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesitas un ciclo para leer todos los caracter

Publicado por agustin (5 intervenciones) el 05/02/2004 13:50:07
primero que nada muchas gracias S por haberme ayudado...
una consulta.. yo estuve suponiento que me faltaba algun ciclo por eso no me continuaba con la busqueda...Pero te cuento que al ejecutar con la solucion que me diste me imprime el int main; "!#@"# y llamese basura a continuacion..
yo lo unico que necesito hacer es una funcion que me permita obtener el nombre main... sin el ;
La verdad que hace varioooss dias que estoy con eso y no encuentro la solucion :(

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ya te envie un correo con el programa completo

Publicado por s (2 intervenciones) el 06/02/2004 02:49:01
Hola.
Te envie un correo a la dirección que aparece. Si no es la tuya, hazmelo saber para que te ponga el código completo aqui.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya te envie un correo con el programa completo

Publicado por ADNA (1 intervención) el 17/02/2004 02:27:53
hola oye no se si me puedas ayudar a conseguir el programa fuente para el compresor te lo agradecere de corazon mandame si puedes el compleeto al [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesitas un ciclo para leer todos los caracter

Publicado por ADAN (1 intervención) el 17/02/2004 02:25:09
HOLA NECESITO AYUDA ESTOY EMPEZADFON A PROGRAMAR Y UN PROFESOR NOS DEJO KKE REALIZARAMOS UN CO0MPRESOR POR METODO DE HUFFMAN NO SE SI ME PUEDAN MANDAR CODGO FUENTE O ME DIGAN MAS OMENOS COMO COMENZAR GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar