A função de modelo getline lê um carácter adicional depois de encontrar o delimitador

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

Sintomas

A biblioteca Standard C++ Library modelo getline função lê um carácter adicional depois de encontrar o delimitador. Consulte o programa de exemplo na secção mais informação para obter detalhes.

Resolução

Modificar função de membro getline , que pode ser encontrada na cadeia de seguintes sistema cabeçalho de ficheiro, da seguinte forma:
	else if (_Tr::eq((_E)_C, _D))
                {_Chg = true;
              //  _I.rdbuf()->snextc(); /* Remove this line and add the line below.*/ 
		  _I.rdbuf()->sbumpc();
                break; }

				
NOTA: uma vez que a resolução envolve a modificar um ficheiro de cabeçalho do sistema, extremos deve ter o cuidado para garantir que nada mais é alterado no ficheiro de cabeçalho. Microsoft não é responsável pelos problemas resultantes de alterações não desejadas aos ficheiros de cabeçalho do sistema.

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos do Microsoft listados na secção "Aplica-se a".Este problema foi corrigido no Microsoft Visual C++. NET.

Mais Informação

O programa de exemplo seguinte demonstra o erro:
//test.cpp
//Compiler options : /GX
#include <string>
#include <iostream>
int main () {
	std::string s,s2;
	std::getline(std::cin,s);
	std::getline(std::cin,s2);
	std::cout << s <<'\t'<< s2 << std::endl;
	return 0;
}

Actual Results:
Hello<Enter Key>
World<Enter Key>
<Enter Key>	
Hello   World

Expected Results:
Hello<Enter Key>
World<Enter Key>
Hello   World
				

Propriedades

Artigo: 240015 - Última revisão: 2 de setembro de 2005 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • The Standard C++ Library nas seguintes plataformas
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Palavras-chave: 
kbmt kbtshoot kbprb kbbug kbfix kblangcpp kbnoupdate kbstl kbtemplate KB240015 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: 240015

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