Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Archivo de gran tamaño

Estas en el tema de Archivo de gran tamaño en el foro de C/C++ en Foros del Web. Hola es que estoy buscando informacion sobre este tema pero no e conseguido, lo que quiero es que mi programa en c pueda abrir un ...
  #1 (permalink)  
Antiguo 22/01/2016, 13:17
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 4 meses
Puntos: 2
Archivo de gran tamaño

Hola es que estoy buscando informacion sobre este tema pero no e conseguido, lo que quiero es que mi programa en c pueda abrir un archivo de unas 7 GB o mas no importa que tenga que leer caracter por caracter.
  #2 (permalink)  
Antiguo 23/01/2016, 16:47
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Archivo de gran tamaño

Cita:
Iniciado por sanandresm Ver Mensaje
Hola es que estoy buscando informacion sobre este tema pero no e conseguido
Ya te digo yo que mucho mucho no has buscado... o no has sabido buscarlo, información al respecto en Internet hay bastante.

Se podría decir que lo único que necesitas es incluir esta línea:

Código C:
Ver original
  1. #define _FILE_OFFSET_BITS 64

en el archivo que vaya a abrir/leer el archivo. Si sabes cómo funcionan los defines, entenderás que tienes que poner esta línea antes que los includes.

Con eso deberías poder abrir ficheros grandes sin ningún problema.

¿Qué hace esta línea? básicamente forzar a que se utilicen 64 bits para gestionar el acceso al fichero. Si no se indica esta opción se usarán únicamente 32 bits, lo que te limita el archivo máximo a unos 2GB.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: tamaño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.