...
Microsoft Visual Studio
| API | Description | Version | Link |
|---|---|---|---|
| <complex.h> | Absent; __STDC_NO_COMPLEX__ is not defined | 2012 | |
isblank() | Absent | 2012 | |
| <fenv.h> | Absent | 2012 | |
| <inttypes.h> | Absent | 2012 | |
| Absent | 2012 | |
#pragma FP_CONTRACT | Spelled fp_contract instead of FP_CONTRACT | 2012 | MSDN |
fpclassify() | Absent, use _fpclass() instead | 2012 | MSDN |
isfinite(), isinf() | Absent, use _finite() or _finitef()instead | 2012 MSDN | |
isnan() | Absent, use _isnan() or _isnanf() instead | 2012MSDN | |
isnormal() | Absent, use _fpclass() instead | 2012 | MSDN |
signbit() | Absent | 2012 | |
acosh(), asinh(), atanh() | Absent | 2012 | |
exp2(), expm1(), ilogb(), log1p(),log2() | Absent | 2012 | |
scalbn() | Absent; use _scalb() (or _scalbf() on x64 targets only) instead | 2012 | MSDN |
cbrt() | Absent | 2012 | |
erf(), erfc(), lgamma(), tgamma() | Absent | 2012 | |
nearbyint(), rint(), lrint(),round(), lround(), trunk() | Absent | 2012 | |
remainder(), remquo() | Absent | 2012 | |
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 defined | 2012 | |
<stdbool.h> | Absent; _Bool is not supported in /TC mode, but bool is supported in /TP mode | 2012 | MSDN |
max_align_t | Absent | 2012 | |
| Printing format specifier type field | S is MSVC-specific; c, s, and z are not ANSI compatible; F is unsupported | 2012MSDN | |
| Printing format specifier size field | I, I32 and I64 are MSVC-specific; h, w and l are not ANSI compatible; hh, j, z and t unsupported | 2012 | MSDN |
| Scanning format specifier type field | S is MSVC-specific; c and s are not ANSI compatible; p is unsupported | 2012 MSDN | |
| Scanning format specifier size field | I64 is MSVC-specific; h, l, and L prefixes are not ANSI compatible; hh, j, z, and t are unsupported | 2012 MSDN | |
snprintf() | Absent; use _snprintf() instead | 2012 | MSDN |
vfscanf(), vscanf(), vsscanf() | Absent | 2012 | |
fopen(), freopen() | Mode parameter not ANSI compatible; t, c, n, N, S, R, T, D and css are MSVC extensions; x isunsupported; 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() instead | 2012 | MSDN |
<stdnoreturn.h> | Absent; use __declspec(noreturn) instead | 2012 MSDN | |
<tgmath.h> | Absent | 2012 | |
<threads.h> | Absent; __STDC_NO_THREADS__ is not defined | 2012 | |
TIME_UTC, struct timespec,timespec_get() | Absent | 2012 | |
strftime(), wcsftime() | z is not ANSI compatible; C, D, e, F, g, G, h, n, r, R, t, T, u, V unsupported | 2012MSDN | |
<uchar.h> | Absent | 2012 | |
vfwscanf(), vswscanf(), vwscanf() | Absent | 2012 | |
fwide() | Unsupported Unsupported | 2012 MSDN | |
wcstof(), wcstold() | Absent | 2012 | |
wcstoll() | Absent; use _wcstoi64() instead | 2012 | MSDN |
wcstoull() | Absent; use _wcstoui64() instead | 2012 | 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 remarks | 2012 | MSDN |
vfscanf_s(), vscanf_s(),vsscanf_s() | Absent | 2012 | |
constraint_handler_t,set_constraint_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() orignore_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:
...