Você não pode chamar a função fwrite para gravar um buffer maior que 64 MB no Visual C++ 2005, no Visual C++ .NET 2003 ou no Visual C++ .NET 2002

Traduções deste artigo Traduções deste artigo
ID do artigo: 899149 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher 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, você use a função fopen para abrir um arquivo que está em uma unidade de rede. Na chamada de função, use o tipo de acesso pdt com (gravação e binário) como o parâmetro de modo . Se você, em seguida, chamar a função fwrite para gravar um buffer que é maior do que 67,076,095 bytes, a função chamar falhar.

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

Causa

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

Como Contornar

Para contornar este problema, use um dos seguintes métodos:
  • Quando você abre um arquivo, use o tipo de acesso w + b (leitura e gravação) como o parâmetro de modo .
  • Use um buffer menor. Em seguida, chame a função fwrite em um loop até que você gravar o número de bytes que você deseja para o arquivo.

Referências

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

Propriedades

ID do artigo: 899149 - Última revisão: sexta-feira, 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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