C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Stream state in loop conditions

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards
View previous topic :: View next topic  
Author Message
Duck Dodgers
Guest





PostPosted: Wed Apr 27, 2005 10:42 pm    Post subject: Stream state in loop conditions Reply with quote



I see this idiom a LOT for reading until end-of-file:

while ( cin >> var ) { /* ... */ }
while ( getline ( cin, s ) ) { /* ... */ }

Is this guaranteed to work? The standard makes no mention of operator
void* looking at eofbit at any point. The way I'm reading the standard,
it looks like if no characters are read then failbit is set, which
operator void* uses. The idiom would work under that interpretation
because if eofbit is set then no characters are read and failbit is set
shortly thereafter, causing the loop to terminate because operator
void* relies on fail().

There's also a clause about sentry that suggests both failbit and
eofbit are set if end-of-file is reached (section 27.6.1.1.2), but I'm
not quite sure that's applicable to my question.

Thanks for your time.

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.