No se puede llamar a la función fwrite para escribir en un búfer que es mayor que 64 MB en Visual C++ 2005, en Visual C++ .NET 2003 o en Visual C++ .NET 2002

Seleccione idioma Seleccione idioma
Id. de artículo: 899149 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Tenga en cuenta la situación siguiente. En Microsoft Visual C++ 2005, Visual C++ .NET 2003 o Visual C++ .NET 2002, utilice la función fopen para abrir un archivo que está en una unidad de red. En la llamada de función, se utiliza el tipo de acceso wb como (escritura y binario) como el parámetro de modo . Si a continuación, llama a la función fwrite para escribir en un búfer que es mayor que 67,076,095 bytes, la función llamar a se produce un error.

Nota 67,076,095 bytes son aproximadamente 64 megabytes (MB).

Causa

El problema se produce debido a una limitación del sistema operativo.

Solución

Para evitar este problema, utilice uno de los métodos siguientes:
  • Cuando abre un archivo, utilice el tipo de acceso de w + b (lectura y escritura) como el parámetro modo .
  • Utilizar un búfer más pequeño. Llame a continuación, a la fwrite función en un bucle hasta que escribir el número de bytes que desee en el archivo.

Referencias

Para obtener más información sobre las funciones fopen y fwrite , visite el siguiente Microsoft Developer Network (MSDN) sitios Web:
fopen, _wfopen
http://msdn2.microsoft.com/en-us/library/yeby3zcb(vs.71).aspx

fwrite
http://msdn2.microsoft.com/en-us/library/h9t88zwz(vs.71).aspx

Propiedades

Id. de artículo: 899149 - Última revisión: viernes, 16 de noviembre de 2007 - Versión: 2.2
La información de este artículo se refiere a:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard
  • Microsoft Visual C++ .NET 2002 Standard
Palabras clave: 
kbmt kbopenfile kbcode kbtshoot kbprb KB899149 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 899149

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com