depones
01/10/2007, 00:05
Merhaba,
C++'ta operator>> ile klavyeden formatı, değişkenin türüne uymayan bir değer aldığımda bu değer stdin tamponunda kalıyor. Aynı C'de scanf() fonksiyonunda olduğu gibi. C'de tamponu boşaltmak için
while ((ch = getchar()) != '\n' && ch != EOF)
;
kod kalıbını kullanıyorum. C++'ta stdin tamponunu boşaltmak için ise bu kodu şöyle uyarladım:
void FileManager::ClearStreamBuffer(istream &is)
{
char ch;
while ((ch = is.get()) != '\n' && ch != EOF)
;
}
Ancak, bu kod doğru çalışmıyor. C++'ta stdin tamponunu nasıl boşaltabilirim ?
İyi çalışmalar.
C++'ta operator>> ile klavyeden formatı, değişkenin türüne uymayan bir değer aldığımda bu değer stdin tamponunda kalıyor. Aynı C'de scanf() fonksiyonunda olduğu gibi. C'de tamponu boşaltmak için
while ((ch = getchar()) != '\n' && ch != EOF)
;
kod kalıbını kullanıyorum. C++'ta stdin tamponunu boşaltmak için ise bu kodu şöyle uyarladım:
void FileManager::ClearStreamBuffer(istream &is)
{
char ch;
while ((ch = is.get()) != '\n' && ch != EOF)
;
}
Ancak, bu kod doğru çalışmıyor. C++'ta stdin tamponunu nasıl boşaltabilirim ?
İyi çalışmalar.