Funkce getline šablonu přečte zvláštní znak po dochází oddělovač

Překlady článku Překlady článku
ID článku: 240015 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Funkce getline šablonu Standard C++ Library přečte po dochází oddělovač zvláštní znak. Najdete ukázkový program, v části Další informace o podrobné informace.

Řešení

Upravit funkci členu getline, kterou lze najít v následující systému záhlaví souboru řetězec, takto:
	else if (_Tr::eq((_E)_C, _D))
                {_Chg = true;
              //  _I.rdbuf()->snextc(); /* Remove this line and add the line below.*/ 
		  _I.rdbuf()->sbumpc();
                break; }

				
Poznámka: vzhledem k tomu, že rozlišení vyžaduje úpravy systémový soubor záhlaví, mimořádně pečlivě je třeba zajistit, že nic jiného je v záhlaví souboru změněny. Společnost Microsoft není odpovědná za jakékoli problémy, vyplývající z nežádoucí změny systémových souborů záhlaví.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.Tento problém byl opraven v aplikaci Microsoft Visual C++ .NET.

Další informace

Následující ukázkový program ukazuje chybu:
//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
				

Vlastnosti

ID článku: 240015 - Poslední aktualizace: 2. září 2005 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • The Standard C++ Library na těchto platformách
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Klíčová slova: 
kbmt kbtshoot kbprb kbbug kbfix kblangcpp kbnoupdate kbstl kbtemplate KB240015 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:240015

Dejte nám zpětnou vazbu

 

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