Type Checking
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

Type Checking (CRT)

The compiler performs limited type checking on functions that can take a variable number of arguments, as follows:

Function call

Type-checked arguments

_cprintf, _cscanf, printf, scanf

First argument (format string)

fprintf, fscanf, sprintf, sscanf

First two arguments (file or buffer and format string)


First three arguments (file or buffer, count, and format string)


First two arguments (path and _open flag)


First three arguments (path, _open flag, and sharing mode)

_execl, _execle, _execlp, _execlpe

First two arguments (path and first argument pointer)

_spawnl, _spawnle, _spawnlp, _spawnlpe

First three arguments (mode flag, path, and first argument pointer)

The compiler performs the same limited type checking on the wide-character counterparts of these functions.

© 2016 Microsoft