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;
}