Título: Programa para copiar una palabra Publicado por: TonietFB en 16 Noviembre 2014, 22:53 pm Hola a todos! Mirar tengo un problemilla. Tengo el código siguiente, que funciona perfectamente, que lo que hace es copiar un archivo .txt en otro nuevo, letra por letra.
La cosa es que yo quiero que me copie solo una palabra, localizada en un punto. ¿Como puedo hacerlo? Llevo días probando y nada. Soy un poco novatillo en esto, y agradecería mucho algo de ayuda. Mi archivo .txt es algo así [1] 10442021 8483689 [2] be7 Cosmico 8.39e-002 1.22e-002 2.09e-002 10 bi212 SerieTh232Rn220 1.32e+002 2.54e-001 4.16e-001 14 [3] be7 10 464.4 467.4 477.6 7.6 461 525 26.5 12352.0 Cosmico bi212 14 732.2 735.2 730.4 9.6 696 769 25.3 887251.3 SerieTh232Rn220 [4] 1 119.9 122.9 122.9 2.2 114 133 8.9 90248.9 2 147.7 150.7 150.5 2.9 136 158 8.4 121760.3 3 176.3 179.3 179.0 3.1 161 185 8.6 202054.9 8 305.3 308.3 307.0 5.4 282 327 10.6 218150.5 9 404.4 407.4 418.6 15.5 375 459 38.5 308035.7 16 875.6 878.6 875.1 8.9 842 893 19.7 35045.8 [5] Y yo quiero que me saque de esta linia "bi212 SerieTh232Rn220 1.32e+002 2.54e-001 4.16e-001 14" el primer número, es decir que en el fichero de salida aparezca "1.32e+002" Gracias de antemano! Código
Título: Re: Programa para copiar una palabra Publicado por: patilanz en 16 Noviembre 2014, 23:02 pm Puedes hacer una especie de contador variable que cuente los \n encontrados para las nuevas lineas, necesitas 4 después obtienes la linea y lo divides según los espacios.
Para dividir utiliza strtok() http://www.cplusplus.com/reference/cstring/strtok/ http://codigomaldito.blogspot.com.es/2005/11/dividir-en-tokens-o-palabras-con.html Saludos Título: Re: Programa para copiar una palabra Publicado por: rir3760 en 17 Noviembre 2014, 02:20 am Y yo quiero que me saque de esta linia "bi212 SerieTh232Rn220 1.32e+002 2.54e-001 4.16e-001 14" el primer número, es decir que en el fichero de salida aparezca "1.32e+002" ¿Buscas la primera linea que inicia literalmente con "bi212 SerieTh232Rn220" y extraer el numero de punto flotante a continuación de esta? Si es así puedes utilizar la función fgets para leer el archivo linea por linea junto con sscanf para verificar si esta cumple con el formato esperado.Si no es así entonces por favor indica a detalle cual es la estructura del archivo de entrada. Un saludo Título: Re: Programa para copiar una palabra Publicado por: TonietFB en 17 Noviembre 2014, 07:39 am Si, eso mismo busco. Pero no estan separados por un solo espacio cada una de las palabras.
Título: Re: Programa para copiar una palabra Publicado por: rir3760 en 17 Noviembre 2014, 17:28 pm Como ya te comente debes leer el archivo linea por linea (mediante fgets) verificando (mediante sscanf) si esta cumple con el formato buscado, si eso sucede terminas el bucle de inmediato. Mas o menos así:
Código
Un saludo |