elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda al escribir ficheros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] Ir Abajo Respuesta Imprimir
Autor Tema: Duda al escribir ficheros  (Leído 14,637 veces)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Duda al escribir ficheros
« Respuesta #30 en: 1 Abril 2014, 18:45 pm »

Me refiero a copiar todas las columnas y pegarlas en un txt.

A mano se puede hacer (columna por columna), lo que no sé si excel da alguna opción para exportarlo todo en un txt (o similar).


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Feynmann

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: Duda al escribir ficheros
« Respuesta #31 en: 2 Abril 2014, 17:46 pm »

Consegui solucionar el tema de pasar los ficheros excell a datos.txt . He tenido que hacer una macro en Excell para que me lo pasé a .txt

Teneis ideas para el nuevo reto:
Este programa que aparece abajo, lee archivos .txt de una sola columna,
si tengo un .txt con varias columnas separados por un delimitador como puedo hacerlo!! ?  :o

He buscado pero solo he encontrado cosas que me cambian todo el codigo muchísimo! a ver si alguien me echa una mano!!

Código
  1.  
  2. char leer[1000000];
  3. long double numerof;
  4. float numero;                                      
  5. while (fgets(leer, 1000000, fichero) != NULL) //detecta cuando acaba la informacion del fichero datos.txt y
  6.                                       //lee una linea del fichero , la guarda en leer y pasa a la siguiente linea
  7. {      
  8. numero = atof (leer);// convierto un char en un int
  9. long double numero1= (long double) numero;
  10. //Aqui hago las modificaciones
  11. numerof = numero1*2;
  12. sprintf(leer, " %30.30f \n",numerof); // convierto double a string
  13. // Escribo lo anterior al fichero2
  14. fputs(leer,fichero2);
  15. }
  16. fclose(fichero);  //cierra fich datos.txt
  17. fclose(fichero2);


En línea

Novato curioso, me gustaria aprender a programar bien en C/C++ por eso estoy aqui. Pero puedo echar una mano a cualquiera que me lo pida en temas de electronica!
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Duda al escribir ficheros
« Respuesta #32 en: 2 Abril 2014, 18:02 pm »

¿Delimitador? ¿Te refieres a un espacio?

En ese caso usaría el fscanf. Se usa igual que el scanf:

Código
  1. while (!feof(fichero))
  2. {
  3.    double numero;
  4.  
  5.    for (int i = 0; i < 10;i++)
  6.    {
  7.       fscanf(fichero,"%f",&numero);
  8.       // numero * 2
  9.  
  10.       numero *= 2;
  11.  
  12.       fprintf(fichero,"%f ",numero);
  13.    }
  14.  
  15.    fprintf(fichero,"\n"); // salto de linea
  16. }

Sí he usado el feof, pero esque la solución sin él quizás fuese menos intuitiva:
Código
  1. int bandera = 1;
  2. while (bandera)
  3. {
  4.    double num;
  5.  
  6.    for (int i = 0; i < 10;i++)
  7.    {
  8.       bandera = fscanf(fichero,"%f",&numero);
  9.       // numero * 2
  10.  
  11.       numero *= 2;
  12.  
  13.       fprintf(fichero,"%f ",numero);
  14.    }
  15.  
  16.    fprintf(fichero,"\n"); // salto de linea
  17. }
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Feynmann

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: Duda al escribir ficheros
« Respuesta #33 en: 3 Abril 2014, 12:20 pm »

Vale,
Solucionado :)

Siguiente problema:
Los datos del .txt son del tipo:
1E-15       0.00000009    E+15

Soy incapaz de que me guarde en el archivo de salida estos numeros me da la siguiente salida

 0.000000 0.000000 -107374176.000000

El tercero ni siquiera existe!! :huh:




mi programa ahora es este:
Código
  1. int main(){
  2.  
  3.    FILE *f;
  4. FILE *f2;
  5.  
  6.   char cadena[11]= "12.txt";
  7.   char nombre2[11]= "salida.txt";
  8.  
  9.    f = fopen( cadena, "r" );  // Fichero datos.txt desde el que leo los datos.
  10.    f2= fopen( nombre2, "w");  // Fichero salida.txt donde escribire los datos.
  11.  
  12.   float col1, col2, col3;
  13.   int i=0, n=1;
  14.   while (i<n)
  15.   {
  16. fscanf (f, " %f %f %f \n",&col1 ,&col2 ,&col3 );
  17. fprintf(f2," %f %f %f \n",col1 ,col2 ,col3);
  18. i++;
  19.   }
  20.  
  21.   fclose(f);
  22.   fclose(f2);
  23.  
  24.    getchar();
  25. return 0;
  26. }
En línea

Novato curioso, me gustaria aprender a programar bien en C/C++ por eso estoy aqui. Pero puedo echar una mano a cualquiera que me lo pida en temas de electronica!
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Duda al escribir ficheros
« Respuesta #34 en: 3 Abril 2014, 12:30 pm »

tienes que acostumbrarte a mirar un poco por la web... este tipo de preguntas se suelen resolver mirando la documentación sobre el uso de la función y sus parámetros:

FormatoSignificadoEjemplo
%fDecimal floating point, lowercase392.65
%FDecimal floating point, uppercase392.65
%eScientific notation (mantissa/exponent), lowercase3.9265e+2
%EScientific notation (mantissa/exponent), uppercase3.9265E+2
%gUse the shortest representation: %e or %f392.65
%GUse the shortest representation: %E or %F392.65

Fuente: http://www.cplusplus.com/reference/cstdio/printf/
En línea

Páginas: 1 2 3 [4] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Una duda en vb...Como puedo escribir datos en un tag con vb???Ayudenme plz,thx!
Programación Visual Basic
ZaPa 3 2,498 Último mensaje 12 Julio 2005, 08:54 am
por maxnet
Duda :Escribir en la BIOS
Programación Visual Basic
Krnl64 3 2,446 Último mensaje 29 Mayo 2006, 22:45 pm
por Krnl64
Duda con ficheros y structs en C
Programación C/C++
chica_23 9 6,173 Último mensaje 19 Marzo 2011, 20:24 pm
por chica_23
Duda ficheros c++
Programación C/C++
oskrg55 3 2,567 Último mensaje 10 Agosto 2015, 17:14 pm
por ivancea96
[C] Se puede leer y escribir en dos ficheros desde un mismo programa?
Programación C/C++
LoQueSeaPI 1 2,152 Último mensaje 30 Noviembre 2016, 23:56 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines