Páginas: 1 2 [3]
|
 |
|
Autor
|
Tema: Split en C (Leído 1344 veces)
|
Ferсhu
Desconectado
Mensajes: 1.221
Menos palabras y Mas codigos.
|
declarando un tamaño mucho mayor q el del archivo y guardando. while(!feof(file)){ Yo[i] = getc(file); i++; } o con fread, fseek y ftell sacas el tamaño jeje vamosss busca un pokito.
|
|
|
|
|
En línea
|
|
|
|
E0N
Lab &
Colaborador
Desconectado
Mensajes: 2.671
|
Mas comodo para sacar el tamaño es usar GetFileSize, que te lo devuelve directamente 
|
|
|
|
|
En línea
|
|
|
|
|
|
|
|
|
|
^TiFa^
Desconectado
Mensajes: 672
Need a Love Loan? Borrow some from me :)
|
Que tenia de pesado usar fseek  fseek(archivo, 0, SEEK_END); register int a;
a = ftell(archivo);
Era eso muy dificil????
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
|
Ferсhu
Desconectado
Mensajes: 1.221
Menos palabras y Mas codigos.
|
a = ftell(file); // Fin Tifa char Yo[a]; Frezee no podes hacer eso. tendrias q hacer. a = ftell(file); // Fin Tifa char *Yo; Yo=(char *)malloc(sizeof(char)*a) // en este caso sizeof(char) vale 1 pero lo pongo para hacerlo mas general.
|
|
|
|
|
En línea
|
|
|
|
|
|
Ferсhu
Desconectado
Mensajes: 1.221
Menos palabras y Mas codigos.
|
if (file != 0) { for(i=1;!feof(file);i++){ Yo[i] = fgetc(file); tam += strlen(&Yo[i]); // Incia y Fin Freeze p += Yo[i]; //Intento meter todos los caracteres no a un array sino a una variable y tampoco :P } fseek(file, 0, SEEK_END);// Inicia Tifa register int a; a = ftell(file); // Fin Tifa char Yo[a]; separar(&subYo,Yo,Firma); printf("%s",subYo[0]); // No imprime lo que deberia. fclose(file); }Codigo de Freeze. Modificado un pokito. if (file != 0) { register int tam; char *Yo,*subYo; fseek(file, 0, SEEK_END); // vas al final del archivo tam = ftell(file); // obtenes la ultima pos, q ekivale al tamaño Yo=(char *)malloc(tam); // pedis esa cantidad de memoria fseek(file, 0, 0); // volves al principio para poder leer todo fread(Yo,tam,1,file); // lees todo el archivo y lo guardas en el buffer. cant=separar(&subYo,Yo,Firma); // separa x firmas for(i=0;i<cant;i++)printf("%s\n",subYo[i]); // te muestra lo q separo :p fclose(file); }Te puede tirar error si tu exe tiene un tamaño muy grande y no puede reservar tanta memoria para el buffer.
|
|
|
|
« Última modificación: 13 Mayo 2008, 06:51 por Ferсhu »
|
En línea
|
|
|
|
^TiFa^
Desconectado
Mensajes: 672
Need a Love Loan? Borrow some from me :)
|
Mi amor, yo solo te estaba dando funciones faciles para sacar el tamano de un archivo... no estaba haciendo el codigo por ti  se suponia que con fseek & ftell sacabas el tamano.. pero lo que sigue despues de ahi, debe ser logica de programacion tuya. Hola Ferchu  Siempre ayudando el nino. Creo que con un for seria suficiente para indagar el archivo completo  Aunque en vez de usar fseek otra vez para devolverme en el archivo, hubiese usado la funcion 'rewind' pero es lo que me gusta de C tienes muchas formas de hacer la misma validacion 
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
Freeze.
Desconectado
Mensajes: 2.449
FireSoft
|
Como hago para que no me de el error: "LA CPU NTVDM ha encontrado una instrucción no permitida." Cerrar - Omitir 
|
|
|
|
|
En línea
|
Un nuevo CMS, pruebalo:

|
|
|
^TiFa^
Desconectado
Mensajes: 672
Need a Love Loan? Borrow some from me :)
|
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
Páginas: 1 2 [3]
|
|
|
|