[diff.cpp23.io]

# Annex C (informative) Compatibility [[diff]](./#diff)

## C.1 C++ and ISO C++ 2023 [[diff.cpp23]](diff.cpp23#io)

### C.1.10 [[input.output]](input.output "31 Input/output library"): input/output library [diff.cpp23.io]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L335)

**Affected subclause:** [[istream.unformatted]](istream.unformatted)  


**Change:** Overloaded std​::​basic_istream<char, traits>​::​ignore[.](#1.sentence-1)

  


**Rationale:** Allow char values to be used as delimiters[.](#1.sentence-2)

  


**Effect on original feature:** Calls to istream​::​ignore with a second argument of char type
can change behavior[.](#1.sentence-3)

Calls to istream​::​ignore with a second argument that is neitherint nor char type can become ill-formed[.](#1.sentence-4)

[*Example [1](#example-1)*: std::istringstream in("\xF0\x9F\xA4\xA1 Clown Face");
in.ignore(100, '\xA1'); // ignore up to '\xA1' delimiter,// previously might have ignored to EOF in.ignore(100, -1L); // ambiguous overload,// previously equivalent to (int)-1L â *end example*]
