CORRECÇÃO: Mensagem de erro quando um aplicativo Visual C++ 2005 tenta abrir um arquivo no modo de depuração no Visual Studio 2005 Service Pack 1: "há muitos abrir arquivos"
Você cria um aplicativo C++ no Microsoft Visual Studio 2005 Service Pack 1 (SP1).
O aplicativo usa a biblioteca C de tempo de execução para abrir um arquivo.
Compilar o aplicativo e, em seguida, você executar o aplicativo no modo de depuração.
O aplicativo abre vários arquivos com êxito.
O aplicativo abre sem êxito mais de 512 vezes de outro arquivo.
Nesse cenário, o aplicativo poderá não é possível abrir mais arquivos, mesmo se os caminhos são válidos. Quando esse problema ocorre, você receber a seguinte mensagem de erro:
Um hotfix com suporte foi disponibilizada pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do Visual Studio 2005 que contém esse hotfix.
Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa de telefones do serviço de suporte a clientes da Microsoft e informações sobre os custos de suporte, visite o seguinte site:
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.
Pré-requisitos
Você deve ter o Visual Studio 2005 Service Pack 1 (SP1) instalado para aplicar esse hotfix.
Requisitos de reinicialização
Não é necessário reiniciar o computador após aplicar esse hotfix.
Informações sobre o arquivo
A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Colar o exemplo de código a seguir em um aplicativo de console do Microsoft Visual C++ 2005.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[])
{
int i;
struct FILE* f;
for (i=0; i<513; ++i)
if (i<17)
f=fopen(argv[0], "r");
else
f=fopen("This file does not exist", "r");
printf("Error number is: %u", errno);
return 0;
}
Compilar o aplicativo e, em seguida, executar o aplicativo no modo de depuração. Observe que o número de erro 24 é retornado. Erro número 24 exibe um "há muitos abrir arquivos" mensagem de erro.
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: 934586
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.