UWP Apps, the Windows Runtime, and the C Run-Time

Universal Windows Platform (UWP) apps are programs that run in the Windows Runtime that executes on Windows 8 and later. The Windows Runtime is a trustworthy environment that controls the functions, variables, and resources that are available to a UWP app. However, by design, Windows Runtime restrictions prevent the use of most C Run-Time Library (CRT) features in UWP apps.

UWP apps don't support the following CRT features:

  • Most CRT functions that are related to unsupported functionality.

    For example, a UWP app can't create a process by using the exec and spawn families of routines.

    When a CRT function isn't supported in a UWP app, that fact is noted in its reference article.

  • Most multibyte character and string functions.

    However, both Unicode and ANSI text are supported.

  • Environment variables.

  • The concept of a current working directory.

  • UWP apps and DLLs that are statically linked to the CRT and built by using the /MT or /MTd compiler options.

    That is, an app that uses a multithread, static version of the CRT.

  • An app that's built by using the /MDd compiler option.

    That is, a debug, multithread, and DLL-specific version of the CRT. Such an app isn't supported on the Windows Runtime.

For a complete list of CRT functions that aren't available in a UWP app and suggestions for alternative functions, see CRT functions not supported in Universal Windows Platform apps.

See also

Compatibility
Windows Runtime unsupported CRT functions
Universal C runtime routines by category
Create a Universal Windows Platform console app