Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Removed the Link column and placed all documentation inline.

...

Microsoft Visual Studio

APIDescriptionVersion Link
<complex.h>Absent; __STDC_NO_COMPLEX__ is not defined2012  
isblank()Absent2012  
<fenv.h>Absent2012  
<inttypes.h>Absent2012  

float_t, double_t, HUGE_VALF,
HUGE_VALL, INFINITY, NAN

Absent 2012  
#pragma FP_CONTRACTSpelled fp_contract instead of FP_CONTRACT2012 MSDN
fpclassify()Absent, use _fpclass() instead2012 MSDN
isfinite(), isinf()Absent, use _finite() or _finitef()instead2012 MSDN
isnan()Absent, use _isnan() or _isnanf() instead2012MSDN
isnormal()Absent, use _fpclass() instead 2012MSDN
signbit()Absent 2012  
acosh(), asinh(), atanh()Absent2012  
exp2(), expm1(), ilogb(), log1p(),
log2()
Absent2012  
scalbn()Absent; use _scalb() (or _scalbf() on x64 targets only) instead 2012 MSDN
cbrt()Absent 2012  
erf(), erfc(), lgamma(), tgamma()Absent2012 
nearbyint(), rint(), lrint(),
round(), lround(), trunk()
Absent 2012 
remainder(), remquo()Absent2012  
copysign()Absent; use _copysign() instead 2012 MSDN
nan(), nexttoward()Absent 2012  
nextafter()Absent; use _nextafter() or _nextafterf() instead 2012 MSDN
fdim()fmax(), fmin()Absent 2012  
fma()Absent 2012 
isgreater(), isgreaterequal(),
isless(), islessequal(),
isunordered()
Absent 2012  
<stdalign.h>Absent   
va_copy()Absent 2012  
<stdatomic.h>Absent; __STDC_NO_ATOMICS__ is not defined2012  
<stdbool.h>Absent; _Bool is not supported in /TC mode, but bool is supported in /TP mode2012 MSDN
max_align_tAbsent 2012  
Printing format specifier type fieldS is MSVC-specific; c, s, and z are not ANSI compatible; F is unsupported2012MSDN
Printing format specifier size fieldII32 and I64 are MSVC-specific; hw and l are not ANSI compatible; hh, jz and t unsupported2012MSDN
Scanning format specifier type fieldS is MSVC-specific; c and s are not ANSI compatible; p is unsupported2012 MSDN
Scanning format specifier size fieldI64 is MSVC-specific; h, l, and L prefixes are not ANSI compatible; hh, j, z, and t are unsupported2012 MSDN 
snprintf()Absent; use _snprintf() instead 2012MSDN 
vfscanf(), vscanf(), vsscanf()Absent 2012  
fopen(), freopen()Mode parameter not ANSI compatible; t, c, n, N, S, R, TD and css are MSVC extensions; x is
unsupported; see remarks
2012 MSDN
atoll()Absent; use _atoi64() instead 2012 MSDN 
strtof(), strtold()Absent 2012 
strtoll()Absent; use _strtoi64() instead 2012 MSDN 
strtoull()Absent; use _strtoui64() instead 2012 MSDN 
aligned_alloc()Absent; use _aligned_malloc() instead (beware, the parameter order is reversed)2012 MSDN 
at_quick_exit(), quick_exit()Absent 2012  
_Exit()Absent; use _exit() instead2012MSDN 
<stdnoreturn.h>Absent; use __declspec(noreturn) instead 2012 MSDN 
<tgmath.h>Absent 2012  
<threads.h>Absent; __STDC_NO_THREADS__ is not defined2012  
TIME_UTC, struct timespec,
timespec_get()
Absent2012  
strftime(), wcsftime()z is not ANSI compatible; C, D, e, F, gG, h, n, r, R, tT, uV unsupported2012MSDN 
<uchar.h>Absent 2012  
vfwscanf(), vswscanf(), vwscanf()Absent2012  
fwide()Unsupported Unsupported 2012 MSDN 
wcstof(), wcstold()Absent 2012  
wcstoll()Absent; use _wcstoi64() instead 2012 MSDN
wcstoull()Absent; use _wcstoui64() instead2012 MSDN 
iswblank()Absent 2012  
FLT_EVAL_METHOD, *_HAS_SUBNORM,
*_DECIMAL_DIG, *_TRUE_MIN
Absent 2012  
__STDC_LIB_EXT1__
Not defined; instead, MSVC uses __STDC_SECURE_LIB__ and __STDC_WANT_SECURE_LIB__2012  
fopen_s(), freopen_s()Uses the same mode strings as fopen()u prefix is unsupported; see remarks2012 MSDN
vfscanf_s(), vscanf_s(),
vsscanf_s()
Absent 2012  
constraint_handler_t,
set_constraint_handler_s(),
abort_handler_s(),
ignore_handler_s()
Absent; use _invalid_parameter_handler and _set_invalid_parameter_handler()
instead.  Beware that the _invalid_parameter_handler signature is considerably different than
that of constraint_handler_t.  No replacement for abort_handler_s() or
ignore_handler_s()
2012 MSDN
bsearch_s()Not ANSI compatible; beware that the comparison function pointer's signature is different from the
standard; namely that the context parameter comes first in MSVC but last in ISO C.
2012 MSDN
qsort_s()Not ANSI compatible; beware that the comparison function's pointer signature is different from the
standard; namely that the context parameter comes first in MSVC but last in ISO C. 
2012 MSDN

fopen() & freopen()

The C standard does not specify what happens with Windows newline characters (CRLF), and so care should be taken when working with text files.  For instance:

...