Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemilla Con Ficheros

Iniciado por Sacrifai, 10 de Septiembre de 2004, 01:10:30 AM

« anterior - próximo »

Sacrifai

 Estoy haciendo algunas cosillas con ficheros y me han saltado algunas dudillas. Resulta que quiero saber si el fichero tiene cierta cadena en cualquier parte de este ¿como lo hago? Por cierto para obtener los caracteres del fichero uso fgets para guardarlo luego en un array ¿es esta la forma mas eficaz?. Otra cosilla, resulta que estoy de pruebas y quiero ver si el fichero es igual a una string. Asi que hago el fgets y luego lo comparo con la string, pero resulta que aun siendo iguales el programa no los ve igual  :(  ¿acaso ai algo que yo no pueda ver?

Gracias por adelantado  (ole) .

Jond

 Podrias poner el código en
el que comparas los ficheros
para ver que estas haciendo mal?

Y para buscar una cadena en un fichero,
create una función que lea el fichero completo
en un array de strings y luego
busca esa cadena en los strings
haber si lo encuentra o no.


Pseudo codigo ON

Array Strings = contenido_fichero()

booleando encontrado=falso
entero frase=0
entero frases=tamaño array strings

mientras encontrado=falso y frase<=frases
                if (buscar cadena en String(frase))
                       encontrado=verdadero
                else
                     frase++


devolver encontrado

Pseudo codigo OFF


Mars Attacks

 "Resulta que quiero saber si el fichero tiene cierta cadena en cualquier parte de este ¿como lo hago?"

grep -i "texto" fichero

"Otra cosilla, resulta que estoy de pruebas y quiero ver si el fichero es igual a una string. Asi que hago el fgets y luego lo comparo con la string, pero resulta que aun siendo iguales el programa no los ve igual"

Pues depende de cómo lo hagas, si comparas string contra string (con strcmp(string1,string2)) asegúrate de que lo que vayas a comparar y la cadena de destino tienen ambas el \0 al final (o no la tiene ninguna).

De momento no se me ocurre nada más.

Sacrifai

 
Cita de: "Mars Attacks"grep -i "texto" fichero
Creo que no me has entendido bien  (ole) . Vereis, resulta que estoy haciendo un lenguajillo de scripting (o al menos intentadolo) y lo que quiero es eso, leer cada cadena y que devuelva 1 o 0 en funcion de si ha encontrado o no la cadena. Pero creo que la voy a tener que hacer yo , porque me da que no hay funciones de ese tipo  (nooo) .

ethernet

 en C puedes usar strstr que busca una subcadena en una cadena y retorna un puntero al comienzo
En c++ con std::string tienes find. Para mas info: http://www.sgi.com/tech/stl/basic_string.html

saludos

Sacrifai

 Habrá que probarlo. Gracias a todos  (uoh) .






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.