As the documentation states, the caller must check that the input character in std::isprint() is a valid unsigned char:
Like all other functions from <cctype>, the behavior of std::isprint is undefined if the argument's value is neither representable as unsigned char nor equal to EOF. To use these functions safely with plain chars (or signed chars), the argument should first be converted to unsigned char:
As the documentation states, the caller must check that the input character in
std::isprint()
is a validunsigned char
:The aforementioned undefined behavior manifests as a debug assertion when compiled with MSVC:
The affected functionality was introduced in #122.
Fixes #173.