Não pode chamar a função fwrite para escrever uma memória intermédia que é maior do que 64 MB no Visual C++ 2005, no Visual C++ .NET 2003 ou no Visual C++ .NET 2002

Traduções de Artigos Traduções de Artigos
Artigo: 899149 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. No Microsoft Visual C++ 2005, no Microsoft Visual C++ .NET 2003 ou no Microsoft Visual C++ .NET 2002, utilize a função de fopen para abrir um ficheiro que está numa unidade de rede. Na chamada de função, pode utilizar o tipo de acesso wb (escrita e binário) como o parâmetro de modo . Se, em seguida, chamar a função de fwrite para escrever uma memória intermédia maior do que 67,076,095 bytes, a função chamar falhar.

Nota 67,076,095 bytes são aproximadamente 64 megabytes (MB).

Causa

O problema ocorre devido a uma limitação do sistema operativo.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos:
  • Quando abre um ficheiro, utilize o tipo de acesso w + b (leitura e escrita) como o modo de parâmetro.
  • Utilize uma memória intermédia mais pequena. Chame, em seguida, a função de fwrite num ciclo até escrever o número de bytes que pretende no ficheiro.

Referências

Para obter mais informações sobre as funções fopen e fwrite , visite o seguinte Microsoft Developer Network (MSDN) Web sites:
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

Propriedades

Artigo: 899149 - Última revisão: 16 de novembro de 2007 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbopenfile kbcode kbtshoot kbprb KB899149 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 899149

Submeter comentários

 

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