Known Issue – Universal CRT ctype functions can fail with EOF input (Windows 10 1803 SDK (17134), April 2018 release.) RRS feed

  • Question

  • The Universal CRT has a known regression in the Windows 10 version 1803 update where ctype functions (ex: isalnum, isprint, islower, etc) will return positive values when given EOF as an input. Specifically, the functions are interpreting the EOF input as a unsigned char of value 255. The C locale is not affected by this issue. The most commonly affected functions are isprint(), isspace(), isblank(), isalpha(), isalnum(), and islower(). This is because many locales have character 255 that satisfy these characteristics.
    Monday, May 21, 2018 9:59 PM


  • As a workaround, we recommend checking for EOF prior to calling any of the ctype functions.
    Microsoft is actively working to address this issue. 
    Monday, May 21, 2018 10:02 PM