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

  • SEARCH
  • Home
  • 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 9264405
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T13:49:10+00:00 2026-06-18T13:49:10+00:00

I am looking over some legacy code and there is a fair amount of

  • 0

I am looking over some legacy code and there is a fair amount of stringstream usage. The code is generating messages generally from various types ok so far. Apart from the fact that it is in some cases doing the following:

   std::ostringstream f1;
   f1 << sDirectory << mFileName << sFileExtension << '\0';

and in others doing (Just illustration)

   std::ostringstream f1;
   f1 << sDirectory << mFileName << sFileExtension << std::ends;

I believe These calls are because further on it accesses f1.str().c_str() and needs to null terminate it.

Is there any difference in these calls ? I see from http://en.cppreference.com/w/cpp/io/manip/ends that std::ends doesn’t flush, is std::ends different across different platforms (Linux/Windows/Mac)? Should I prefer one over the other?

Further to that I read that there should be a call to freeze(false) on the stringstream later in the scope (after str() use) to allow the buffer to be deallocated (http://en.cppreference.com/w/cpp/io/ostrstream/freeze). Again (possibly I misread or misunderstood) but there is no call to freeze(false) so does that indicate that every stream above is leaking?

N.B. FYI This is Visual Studio 2005/Windows 7 but I don’t know if that has any baring.

Apologies if I’m being dense…

  • 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-06-18T13:49:11+00:00Added an answer on June 18, 2026 at 1:49 pm

    std::ends is defined as having the following effect:

    Inserts a null character into the output sequence: calls os.put(charT()).

    When charT is char, it is value initialized to have the value 0, which is equivalent to the character literal \0. So when charT is char, which it usually is, the two lines of code are exactly the same.

    However, using std::ends will work well even when the character type of your stream is not char.

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

Sidebar

Related Questions

I was looking over some code from a MVC3 nuget package, and I noticed
Looking over some older code, I've run into a strange namespace error. Let's say
I was looking over some code the other day and I came across: static
While looking over some Ruby code I noticed methods declared with self. prepended to
I was looking over some (C++) code and found something like this: //Foo.cpp namespace
I'm looking over some complex Python 2.6 code which is occasionally resulting in an
This morning I was looking over some old code I found somewhere (and used
Am looking over some snippets of code and have come across a return statement
While looking over some code in Think Complexity , I noticed their Graph class
I was looking over some code that another developer wrote and found this: Private

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.