Retomando la programación
Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06
- largeroliker
- Administrador
- Mensajes: 8283
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: Retomando la programación
0o
Bueno gente, necesito ayuda en un tema en concreto. ¿Cómo hago para detectar el final del fichero? He intentado usar el método del chaval del primer tuto que usé pero está mal escrito...
Bueno gente, necesito ayuda en un tema en concreto. ¿Cómo hago para detectar el final del fichero? He intentado usar el método del chaval del primer tuto que usé pero está mal escrito...
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
Re: Retomando la programación
Vice, ¡a ver si aprendemos a buscar por nuestra cuenta estas cosas!
http://www.cplusplus.com/reference/iostream/ios/eof/
http://www.cplusplus.com/reference/iostream/ios/eof/
Re: Retomando la programación
El es más de java
De cuando en cuando pega el código, que eso es fácil de corregir.
PD: Gracias por el subforo otros mundos.
De cuando en cuando pega el código, que eso es fácil de corregir.
PD: Gracias por el subforo otros mundos.
... after all, we're all alike.
- largeroliker
- Administrador
- Mensajes: 8283
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: Retomando la programación
He intentado de varias formas detectar el final del fichero pero en cada web te lo dicen de una manera distinta, así que lo voy a hacer de otra forma.
¿Alguna función que devuelva el tamaño del fichero abierto? La idea que tengo ahora es detectar la primera línea de inicio de PNG y desde ahí cerrar TRAS detectar el final de imagen PNG, y saber cuántos ciclos daré ((fichero/4)+1) me es de mucha utilidad.
¿Alguna función que devuelva el tamaño del fichero abierto? La idea que tengo ahora es detectar la primera línea de inicio de PNG y desde ahí cerrar TRAS detectar el final de imagen PNG, y saber cuántos ciclos daré ((fichero/4)+1) me es de mucha utilidad.
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
Re: Retomando la programación
largeroliker escribió:¿Alguna función que devuelva el tamaño del fichero abierto?
fseek
largeroliker escribió:((fichero/4)+1)
No uses literales en el código, usa sizeof. ¿Por qué el +1?
EDITO: el final de fichero se puede detectar de varias formas diferentes vice, cada uno usa la que mejor le viene (también depende del contexto). La que dices es igual de válida (de hecho así lo hago yo en el HBL para algunas cosas)
Re: Retomando la programación
largeroliker escribió:He intentado de varias formas detectar el final del fichero pero en cada web te lo dicen de una manera distinta, así que lo voy a hacer de otra forma.
Al menos en C hay una función( feof(FILE* fichero) ) que permite detectar el final del fichero, entonces lo que se hace es leer con un bucle hasta llegar a al final, osea algo como while(! feof(fichero))
- largeroliker
- Administrador
- Mensajes: 8283
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: Retomando la programación
m0skit0 escribió:largeroliker escribió:¿Alguna función que devuelva el tamaño del fichero abierto?
fseek
m0skit0 escribió:largeroliker escribió:((fichero/4)+1)
No uses literales en el código, usa sizeof. ¿Por qué el +1?
No lo voy a poner así en el código, es para que os hagáis una idea
El +1 es para prevenir posibles decimales. Imaginad que el fichero pesa 5 bytes, entonces sería 5/4 = 1 + 1 = 2, para coger ese byte sobrante.
~Rdavid~ escribió:Al menos en C hay una función( feof(FILE* fichero) ) que permite detectar el final del fichero, entonces lo que se hace es leer con un bucle hasta llegar a al final, osea algo como while(! feof(fichero))
Por lo que estuve leyendo, en C++ no se usa esa función así, por lo que tengo serios problemas para usarlo. Yo al menos ni he dado con la tecla ni con nadie que sepa dónde está.
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
Re: Retomando la programación
fseek es de C también, no de C++.
Por cierto, para C++ tienes un indicador de final de fichero.
Igualmente te dejo un par de enlaces de referencia:
http://www.cplusplus.com/doc/tutorial/files/
http://www.cplusplus.com/reference/iostream/fstream/
¿Y si son 7 bytes? Has perdido 2 en el ciberespacio Usa el operador %.
Por cierto, para C++ tienes un indicador de final de fichero.
Igualmente te dejo un par de enlaces de referencia:
http://www.cplusplus.com/doc/tutorial/files/
http://www.cplusplus.com/reference/iostream/fstream/
largeroliker escribió:El +1 es para prevenir posibles decimales. Imaginad que el fichero pesa 5 bytes, entonces sería 5/4 = 1 + 1 = 2, para coger ese byte sobrante.
¿Y si son 7 bytes? Has perdido 2 en el ciberespacio Usa el operador %.