Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #121089

Re: printf() takes priority here!!!

From wij <wyniijj5@gmail.com>
Newsgroups comp.lang.c++
Subject Re: printf() takes priority here!!!
Date 2024-11-30 09:12 +0800
Organization A noiseless patient Spider
Message-ID <b4e5302f768c0fb5a9b4dfb7c73192808be3499e.camel@gmail.com> (permalink)
References (1 earlier) <vibst0$10dtc$1@dont-email.me> <vic43i$11leh$1@dont-email.me> <vic4p7$11oi6$1@raubtier-asyl.eternal-september.org> <vic51r$11q6p$1@dont-email.me> <vidl87$19o9d$4@dont-email.me>

Show all headers | View raw


On Fri, 2024-11-29 at 19:11 -0500, James Kuyper wrote:
> On 11/29/24 05:29, Muttley@DastardlyHQ.org wrote:
> > On Fri, 29 Nov 2024 11:25:41 +0100
> > Bonita Montero <Bonita.Montero@gmail.com> wibbled:
> > > Am 29.11.2024 um 11:13 schrieb Muttley@DastardlyHQ.org:
> > > 
> > > > It works as expected on MacOS. The newline should automatically flush cout
> > > > stdout just as it does in printf regardless of whether the C and C++ streams
> > > > are linked.
> > > 
> > > std::endl guarantees a flush, but not \n.
> > > I use that often to have buffering of multiple lines.
> > 
> > I've never seen \n NOT flush stdout. Perhaps things are different in a Windows
> > console. Possibly there's some glibc option that may change it on linux and
> > similar on Mac but by default it flushes.
> > 
> 
> The C++ standard defines cout as managing the stdout stream. All other
> statements in the C++ standard about stdout merely cross-reference the
> definition in the C standard, without saying anything C++ specific about
> it. The C standard associates it with the standard output stream, about
> which it says:
> 
> "As initially opened, ... the standard input and standard output streams
> are fully buffered if and only if the stream can be determined not to
> refer to an interactive device."
> 
> So stdout should be fully buffered, not line buffered, if it can be
> determined to refer to an interactive device (such as a computer
> terminal). In that case, '\n" should not, in itself, trigger a flush.

So, what the OP reports (output is irregular) is standard conforming?

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

printf() takes priority here!!! Student Project <student@invalid.invalid> - 2024-11-29 05:35 +0000
  Re: printf() takes priority here!!! Ralf Goertz <me@myprovider.invalid> - 2024-11-29 09:10 +0100
    Re: printf() takes priority here!!! Ralf Fassel <ralfixx@gmx.de> - 2024-11-29 10:54 +0100
    Re: printf() takes priority here!!! Muttley@DastardlyHQ.org - 2024-11-29 10:13 +0000
      Re: printf() takes priority here!!! Bonita Montero <Bonita.Montero@gmail.com> - 2024-11-29 11:25 +0100
        Re: printf() takes priority here!!! Muttley@DastardlyHQ.org - 2024-11-29 10:29 +0000
          Re: printf() takes priority here!!! Bonita Montero <Bonita.Montero@gmail.com> - 2024-11-29 13:03 +0100
            Re: printf() takes priority here!!! Muttley@DastardlyHQ.org - 2024-11-29 12:04 +0000
              Re: printf() takes priority here!!! Bonita Montero <Bonita.Montero@gmail.com> - 2024-11-29 13:12 +0100
                Re: printf() takes priority here!!! Muttley@DastardlyHQ.org - 2024-11-29 12:48 +0000
                Re: printf() takes priority here!!! Bonita Montero <Bonita.Montero@gmail.com> - 2024-11-29 13:56 +0100
          Re: printf() takes priority here!!! James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-11-29 19:11 -0500
            Re: printf() takes priority here!!! wij <wyniijj5@gmail.com> - 2024-11-30 09:12 +0800
            Re: printf() takes priority here!!! Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-11-29 18:41 -0800
              Re: printf() takes priority here!!! James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-11-30 10:22 -0500
            Re: printf() takes priority here!!! Muttley@dastardlyhq.com - 2024-11-30 10:06 +0000

csiph-web