std::cin
'u kullanan bir program yazdığımda, kullanıcının programı sonlandırmak için Enter tuşuna basmasını istediğimi, istenen davranışı elde etmek için std::cin.ignore()
yazmam gerektiğini fark ettim. Örneğin: Ben gerçek girişi için cin
kullanmadığımdaNeden ikinci bir cin.ignore() gerekli?
#include <iostream>
int main(void)
{
int val = 0;
std::cout << "Enter an integer: ";
std::cin >> val;
std::cout << "Please press Enter to continue..." << std::endl;
std::cin.ignore();
std::cin.ignore(); // Why is this one needed?
}
Ben de fark ettik ziyade sadece sonunda ignore()
çağrı için, sadece bir tane lazım.
Linux veya Windows çalıştırıyor musunuz, bunun nedeni olabilir bir
the_stream::ignore(std::numeric_limits<streamsize>::max(), '\n');
gereklidir pencereleri çalıştırıyorsanız CRLF sorunu ... – BenSolaris'de aynı "sorun" gerçekleşir. CRLF ile ilgisi yok. –