como puedo encontrar una CADENA de texto en archivo??
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
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
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º
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º
