Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6786705
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T17:16:40+00:00 2026-05-26T17:16:40+00:00

Recently I’ve come across a bug in my software that was caused by a

  • 0

Recently I’ve come across a bug in my software that was caused by a stringstream object that had it’s EOF flag set before I expected it. Even though I managed to found out what happened, I was not able to find out why this is happening. An example:

stringstream test ("a b");
char temp, temp2;

test >> temp >> temp2;
cout << "eof: " << test.eof() << endl;  

When run, this shows:

eof: 0

This is the output I would expect. (I would expect the stringstream to set the EOF flag to 1 when i attempt to read something again)

However, when I make a small change to the above example:

stringstream test ("4 2");
int temp, temp2;

test >> temp >> temp2;
cout << "eof: " << test.eof() << endl;

the output shows:

eof: 1

Why does the EOF flag get set in this situation, but not in the previous one?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T17:16:41+00:00Added an answer on May 26, 2026 at 5:16 pm

    operator>> skips whitespace characters by default, so the first read into a char will read a, the second will skip and read b, a third would reach the end of the string and fail, setting the eof flag.

    In the int case, multiple characters can be read while parsing an int because an int may be represent by multiple digits. While reading the integer a second read attempt will be made after reading the 2. This will set the eof flag for the stream although the read of the int will succeed.

    This is why you should check !fail() and not good() to see if a read operation succeeded and why the conversion of a stream to bool (or void* in C++03) also uses !fail().

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Recently, we had released an app. Before we releasing, we tested it on Samsung
Recently in a project, I had a multiprocessing Process that crashed. A child process
Recently I had to develop a SharePoint workflow, and I found the experience quite
Recently I'm doing some work on RTMP streaming, that is using Flowplayer to integrate
Recently I've noticed that on occasion I do not get a mayorship notification when
recently I started using storyboard and I've the following situation: I want to set
Recently two users of our software from the same company started experiencing random closures
recently I started a small Django project that I developed on a local machine
Recently, I like using CSS-Table Layouts more and more. When I had another issue
Recently I have been told that static class/methods are evil. Take for example my

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.