Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: niko26.m en 31 Julio 2013, 15:45 pm



Título: reemplazar la coma decimal por el punto decimal
Publicado por: niko26.m en 31 Julio 2013, 15:45 pm
Hola, tengo un archivo de texto que tiene los siguientes datos:

A#10,12#12,01
B#12,12#21,01
C#19,12#15,01

El # separa los campos. Como hago para rescatar los datos y que me reemplace la coma decimal por el punto decimal? Suponiendo que tengo una variable char y 2 float.


Título: Re: reemplazar la coma decimal por el punto decimal
Publicado por: eferion en 31 Julio 2013, 16:51 pm
quieres decir que en el archivo aparezca el punto en vez de la coma??

Si es así, localiza todas las apariciones de la coma y sustituye por punto, no suele ser muy habitual que una variable char de un archivo medio legible admita la coma como posibilidad.


Título: Re: reemplazar la coma decimal por el punto decimal
Publicado por: aguml en 3 Agosto 2013, 03:06 am
yo usaria una estructura: struct datos( char letra, char num1(6), char num(6) ); Luego puedes usar fwrite para guardar los datos y freas paraleerlos. Uso char* porque si usase float no me funcionaria cambiar la coma. Lo lees de un archivo, lo guardas en otro temporal y si no huvo problemas borras el original y renombras el temporal por el primero. Tambien podrias usar fgetc e ir leyendo caracter a caracter y sustituir las comas por puntos con fputc. Todo depende de el uso que le quieras dar a los datos. La ventaja de usar estructuras es que podras acceder al registro que quieras sin problemas.