Visual Studio 2013 Preview - isprint() incorrectly classifies ' ' as printable for 'C' locale.

It seems that `isprint() is broken.

The following program demonstrates the problem.

In VS20013 it prints “test failed” in all previous versions of visual studio it prints “test passed”.

From this reference: http://en.cppreference.com/w/cpp/string/byte/isprint it seems that VS2013 is broken.

I’ve opened a Microsoft Connect issue for this.

#include <ctype.h>

#include <iostream>

int main()
{
   int c = 9;

   if (isprint(c))
   {
     std::cout << "test failed" << std::endl;
   }
   else
   {
     std::cout << "test passed" << std::endl;
   }

   return 1;
}