This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.
863. What is the state of a stream after close() succeedsSection: 31.10 [file.streams] Status: NAD Submitter: Steve Clamage Opened: 2008-07-08 Last modified: 2017-06-15
Priority: Not Prioritized
View all other issues in [file.streams].
View all issues with NAD status.
Discussion:
Suppose writing to an [o]fstream
fails and you later close the stream
. The overflow()
function is called to flush the buffer (if it exists). Then the file is unconditionally closed, as if by calling flcose
.
If either overflow
or fclose
fails, close()
reports failure, and clearly the stream
should be in a failed or bad state.
Suppose the buffer is empty or non-existent (so that overflow()
does not fail), and fclose
succeeds. The close()
function reports success, but what is the state of the stream
?
[ Batavia (2009-05): ]
Tom's impression is that the issue is about the
failbit
, etc.Bill responds that the stream is now closed, and any status bits remain unchanged.
See the description of
close()
in 31.10.6.4 [fstream.members].We prefer not to add wording to say that nothing changes. Move to NAD.
Proposed resolution:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4