como puedo encontrar una CADENA de texto en archivo??

suncand
06 de Diciembre del 2003
Hola a todos , y muchisimas gracias por todas vuestras respuestas , pues nos son de gran ayuda a todos los programadores con más o menos experiencia .
Mi problema es el siguiente :
Estoy programando bajo el lenguaje C

En mi programa abro un archivo en modo texto y para lectura con Fopen , y a partir de este utilizo la función fgets para leer cadenas y me copie dichas cadenas en otro archivo que abro en modo escritura .
Bien pues lo que no encuentro el modo de hacer es tratar de encontrar una cadena de texto concreta en el archivo de lectura y me la copie en el archivo de escritura .
He probado a utilizar la funcion fgetc para buscar caracter a caracter una palabra , pero el resultado es que copia todos los caracteres que sean iguales en el archivo . Tambien he probado a utilizar la función STRCMP , creando primero una variable char compara[]="texto a buscar" , y tratar de compararla con las cadenas del archivo de lectura , pero no me encuentra nada , únicamente encuentra resultado con cadenas con la misma longitud .

Alguien me podria ayudar para saber que debo de hacer o que hago mal . Muchas gracias

santoº
06 de Diciembre del 2003
Como andas mira eso creo ke lo vas a poder hacer con la funcion strtok

a ver ej (no se si compilara)

yo tengo en un archivo de configuracion IP LOCAL=111.111.111.111
kiero agarrar el ip

while (fgets(linea,256,arch) != NULL)

{

tokenpointer = strtok(linea, "="); /*guarda en tokenpointer todos los caracteres hasta el caracter =*/



if (strcmp(tokenpointer,"IP LOCAL")==0)

{

tokenpointer = strtok(NULL, "=");

strcpy (ipLocal,tokenpointer);

ipLocal[strlen(ipLocal)-1] = '';

printf("IP LOCAL: %s n",ipLocal);

}



bueno espero ke te sirva si no lo entendes bien fijate en el man de linux no es complicado

Santoº

suncand
06 de Diciembre del 2003
Muchas gracias por tu ayuda "santoº " creo que con el comando que me distes voy haciendo progresos y me va resultando el programa . Recibe un gran Saludo y muchas gracias por ayudarme.