Título: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: lordluisiv en 3 Abril 2019, 03:19 am Buenas espero que todos esten bien.
bueno creo que ya el titulo explica todo, aqui estan las librerias que uso y la el string que quiero comparar... Código: #include <stdio.h> aqui es donde leo los e imprimo los datos del documento de texto, no logro que compare el string con la palabra que esta escrita en el documento. ejm: doc.txt{ Var1= 12 Var2= 13 Var3= 99 } y en el programa solo imprimir el 12, 13, 99 pero no lo logro hacer, si me pudieran ayudar pls Código: { Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: K-YreX en 3 Abril 2019, 10:23 am No entiendo muy bien lo que pretendes hacer, ni lo que haces, ya que lo que estás guardando es {"Var1" / "Var2" / "Var3"} pero en ningún momento estás guardando los números con el "=".
Además <palabra> es un <char> cuando creo que lo que querías es que fuera un array de <char>. Y creo que esto no se cumple nunca: Código Porque cuando <palabra> es igual a <DATA_B[0]> ("Var1") en <read> todavía tienes almacenado el "1". Cuando en <read> tienes almacenado el "=", en <palabra> ya tendrías "Var1=" (asumiendo que corrijas lo de que <palabra> es un array). Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: lordluisiv en 4 Abril 2019, 03:06 am No entiendo muy bien lo que pretendes hacer, ni lo que haces, ya que lo que estás guardando es {"Var1" / "Var2" / "Var3"} pero en ningún momento estás guardando los números con el "=". Además <palabra> es un <char> cuando creo que lo que querías es que fuera un array de <char>. Y creo que esto no se cumple nunca: Código Porque cuando <palabra> es igual a <DATA_B[0]> ("Var1") en <read> todavía tienes almacenado el "1". Cuando en <read> tienes almacenado el "=", en <palabra> ya tendrías "Var1=" (asumiendo que corrijas lo de que <palabra> es un array). lo que trato de hacer es guardar los caracteres de la palabra "Var1" pero no se como hacerlo, lo que trato de hacer es esto. https://foro.elhacker.net/programacion_cc/cguardar_y_cargar_datos_de_un_fichero_txt-t494053.0.html (https://foro.elhacker.net/programacion_cc/cguardar_y_cargar_datos_de_un_fichero_txt-t494053.0.html) No sé qué parte es la que quieres que te explique pero imagino que es la solución a tu pregunta. Tienes un fichero de texto que guarda: Código: string (VARIABLE) + char (A/B/C) + char (=) + int (numero) Una vez tienes toda la información del fichero en variables puedes hacer lo que quieras con ello. Las variables las puedes sobreescribir para ahorrar en memoria ya que siempre vas a guardar "VARIABLE" e "=". Si quieres almacenar cada letra con su número correspondiente de forma más "permanente" (que puedas usarlas luego en el programa) entonces ya podrías hacerlo con un array de <char> y otro de <int> o usando clases o estructuras. Pero para lo que quieres hacer no es necesario. jeje aun sigo intentando pero no lo logro Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: K-YreX en 4 Abril 2019, 04:12 am Vale. Todo depende de cómo estés guardando esos datos. Tienes varias opciones como pueden ser:
Según la opción que quieras implementar, tenemos que seguir unas restricciones u otras. Si no es la opción 4, yo te recomendaría la segunda opción, te evitas los problemas de la primera y no pierdes tanta funcionalidad como en la tercera (estoy suponiendo que nosotros conocemos los nombres de las variables de antemano, es decir, que van a ser "var1", "var2", etc) Si lo que quieres es que el usuario introduzca el nombre que el quiera para la variable, entonces hay que implementar la primera opción. Coméntame cuál se adapta mejor a lo que quieres/necesitas e intentaré echarte una mano desde lo más básico para corregir el problema de raíz. :-X Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: lordluisiv en 4 Abril 2019, 20:50 pm Vale. Todo depende de cómo estés guardando esos datos. Tienes varias opciones como pueden ser:
Según la opción que quieras implementar, tenemos que seguir unas restricciones u otras. Si no es la opción 4, yo te recomendaría la segunda opción, te evitas los problemas de la primera y no pierdes tanta funcionalidad como en la tercera (estoy suponiendo que nosotros conocemos los nombres de las variables de antemano, es decir, que van a ser "var1", "var2", etc) Si lo que quieres es que el usuario introduzca el nombre que el quiera para la variable, entonces hay que implementar la primera opción. Coméntame cuál se adapta mejor a lo que quieres/necesitas e intentaré echarte una mano desde lo más básico para corregir el problema de raíz. :-X quiero algo parecido a la 4ta opcion, lo que quiero hacer es como un sistema de guardado, que busque el nombre de X variable y cargue su contenido Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: K-YreX en 4 Abril 2019, 22:00 pm Entonces no tiene ningún sentido que guardes los datos en la matriz usando <strcpy()> como has hecho.
Lo que tienes que hacer es: de un fichero que ya tiene las variables guardadas con su valor y todo, meterlas en una matriz. Te dejo un ejemplo mejor que ir caracter a caracter... Código
Luego tienes que pedir una palabra/variable y buscar en la matriz si está y si está devolver el valor que está a la derecha del "=". Mírate las funciones de la librería <string.h> ya que son de utilidad para este ejercicio. PD: Te recomiendo pedir la palabra usando la función <fgets()> (tendrás que hacer una pequeña modificación para quitar el ENTER que le des al terminar de escribir la palabra). Vete probando lo que te comento y cuando te quedes bloqueado, intento ayudarte más específicamente ya que ahora estoy ocupado. Suerte :-X Título: Re: Como comparar un string con una palabra dentro de un documeto de texto Publicado por: lordluisiv en 5 Abril 2019, 11:53 am Entonces no tiene ningún sentido que guardes los datos en la matriz usando <strcpy()> como has hecho. Lo que tienes que hacer es: de un fichero que ya tiene las variables guardadas con su valor y todo, meterlas en una matriz. Te dejo un ejemplo mejor que ir caracter a caracter... Código
Luego tienes que pedir una palabra/variable y buscar en la matriz si está y si está devolver el valor que está a la derecha del "=". Mírate las funciones de la librería <string.h> ya que son de utilidad para este ejercicio. PD: Te recomiendo pedir la palabra usando la función <fgets()> (tendrás que hacer una pequeña modificación para quitar el ENTER que le des al terminar de escribir la palabra). Vete probando lo que te comento y cuando te quedes bloqueado, intento ayudarte más específicamente ya que ahora estoy ocupado. Suerte :-X Ok muchas gracias, tratare hacerlo así |