In 2011 ISO substantially rewrote the C language. I didn't hear about this so I found out about it the hard way - my program crashed when I called a C function that copied from a location, to a location in the same buffer. It turns out that the ISO C adopted in 2012 was designed to be safer and the run time is supposed to crash when you do this. This is to make it harder to create an array overflow. According to the ISO C documentation, in the new language spec, there are safe versions of dangerous functions like strcpy(). These have the same function name with a "_s"suffix. For example you can use strcpy_s() instead of the old strcpy(). According to the ISO standard you can use these if you #define __STDC_WANT_LIB_EXT1__ as something other than 0 (the examples define it as 1) before you #include the <library>. In my projects this does nothing - the new safe "_s" functions aren't found. I can't find __STDC_WANT_LIB_EXT1__ any where in my projects, for example in the headers. Is there some framework I need to add?
I can't find any documentation for this new ISO standard C here at developer support - not in developer documentation or in these forums.
How can I implement the new ISO C?