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!
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 (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
/*copy_file recibe como parametro el nombre del fichero origen y el nombre del fichero destino
donde se copiara, devuelve 1 si se copio exitosamente,0 en caso contario*/
int copy_file(char* f_org,char* f_dest);
int main()
{
if(!copy_file("fichero1.txt","fichero2.txt"))
printf("El fichero no se pudo copiar\n");
else
printf("Fichero copiado exitosamente\n");
return 0;
}
int copy_file(char* f_org,char* f_dest)
{
FILE *fp_org,*fp_dest;
char c;
if(!(fp_org=fopen(f_org,"rt")) || !(fp_dest=fopen(f_dest,"wt")))
{
perror("Error de apertura de ficheros");
exit(EXIT_FAILURE);
}
while((c=fgetc(fp_org))!=EOF && !ferror(fp_org) && !ferror(fp_dest))
fputc(c,fp_dest);
if(ferror(fp_org) || ferror(fp_org))
return 1;
fclose(fp_org);
fclose(fp_dest);
return 0;
}