Autor
|
Tema: Duda al escribir ficheros (Leído 14,637 veces)
|
amchacon
Desconectado
Mensajes: 1.211
|
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
|
|
|
|
Feynmann
Desconectado
Mensajes: 21
|
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!! ?  He buscado pero solo he encontrado cosas que me cambian todo el codigo muchísimo! a ver si alguien me echa una mano!! char leer[1000000]; long double numerof; float numero; while (fgets(leer, 1000000, fichero) != NULL) //detecta cuando acaba la informacion del fichero datos.txt y //lee una linea del fichero , la guarda en leer y pasa a la siguiente linea { numero = atof (leer);// convierto un char en un int long double numero1= (long double) numero; //Aqui hago las modificaciones numerof = numero1*2; sprintf(leer, " %30.30f \n",numerof); // convierto double a string // Escribo lo anterior al fichero2 fputs(leer,fichero2); } fclose(fichero); //cierra fich datos.txt 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
Mensajes: 1.211
|
¿Delimitador? ¿Te refieres a un espacio? En ese caso usaría el fscanf. Se usa igual que el scanf: while (!feof(fichero)) { double numero; for (int i = 0; i < 10;i++) { fscanf(fichero,"%f",&numero); // numero * 2 numero *= 2; fprintf(fichero,"%f ",numero); } fprintf(fichero,"\n"); // salto de linea }
Sí he usado el feof, pero esque la solución sin él quizás fuese menos intuitiva: int bandera = 1; while (bandera) { double num; for (int i = 0; i < 10;i++) { bandera = fscanf(fichero,"%f",&numero); // numero * 2 numero *= 2; fprintf(fichero,"%f ",numero); } fprintf(fichero,"\n"); // salto de linea }
|
|
|
En línea
|
|
|
|
Feynmann
Desconectado
Mensajes: 21
|
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!!  mi programa ahora es este: int main(){ FILE *f; FILE *f2; char cadena[11]= "12.txt"; char nombre2[11]= "salida.txt"; f = fopen( cadena, "r" ); // Fichero datos.txt desde el que leo los datos. f2= fopen( nombre2, "w"); // Fichero salida.txt donde escribire los datos. float col1, col2, col3; int i=0, n=1; while (i<n) { fscanf (f, " %f %f %f \n",&col1 ,&col2 ,&col3 ); fprintf(f2," %f %f %f \n",col1 ,col2 ,col3); i++; } fclose(f); fclose(f2); getchar(); return 0; }
|
|
|
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
Mensajes: 1.248
|
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: Formato | Significado | Ejemplo | %f | Decimal floating point, lowercase | 392.65 | %F | Decimal floating point, uppercase | 392.65 | %e | Scientific notation (mantissa/exponent), lowercase | 3.9265e+2 | %E | Scientific notation (mantissa/exponent), uppercase | 3.9265E+2 | %g | Use the shortest representation: %e or %f | 392.65 | %G | Use the shortest representation: %E or %F | 392.65 |
Fuente: http://www.cplusplus.com/reference/cstdio/printf/
|
|
|
En línea
|
|
|
|
|
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
|
12 Julio 2005, 08:54 am
por maxnet
|
|
|
Duda :Escribir en la BIOS
Programación Visual Basic
|
Krnl64
|
3
|
2,446
|
29 Mayo 2006, 22:45 pm
por Krnl64
|
|
|
Duda con ficheros y structs en C
Programación C/C++
|
chica_23
|
9
|
6,173
|
19 Marzo 2011, 20:24 pm
por chica_23
|
|
|
Duda ficheros c++
Programación C/C++
|
oskrg55
|
3
|
2,567
|
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
|
30 Noviembre 2016, 23:56 pm
por engel lex
|
|