Makale numarası: 240015 - Son Gözden Geçirme: 02 Eylül 2005 Cuma - Gözden geçirme: 3.0

Getline şablon işlevi sınırlayıcı karşılaştıktan sonra ek bir karakter okur.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

Standart C++ kitaplığı şablon getline işlevi, sınırlayıcı karşılaştıktan sonra ek bir karakter okur. Lütfen ayrıntılar için <a1>daha fazla bilgi</a1> bölümünde <a2>örnek</a2> program bakın.

Çözüm

Aşağıdaki sistem üstbilgi dosyası dizesinde, aşağıdaki şekilde bulunabilir getline üye işlev değiştirin:
	else if (_Tr::eq((_E)_C, _D))
                {_Chg = true;
              //  _I.rdbuf()->snextc(); /* Remove this line and add the line below.*/ 
		  _I.rdbuf()->sbumpc();
                break; }

				
Not şey üstbilgi dosyasında değiştirildiğinde emin olmak için bir <a0>Sistem</a0> üstbilgi dosyası değiştirme çözülmesiyle için aşırı bakım gösterilmelidir. Microsoft Sistem üstbilgisi dosyalarını istenmeyen değişikliklerden kaynaklanan hataları sorumlu değildir.

Durum

Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.Bu sorun, Microsoft Visual C++ .NET ile giderilmiştir.

Daha fazla bilgi

Aşağıdaki örnek program hata gösterir:
//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
				

Bu makaledeki bilginin uygulandığı durum:
  • The Standard C++ Library, Ne zaman ne ile kullanilir:
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Anahtar Kelimeler: 
kbmt kbtshoot kbprb kbbug kbfix kblangcpp kbnoupdate kbstl kbtemplate KB240015 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:240015  (http://support.microsoft.com/kb/240015/en-us/ )