From 5e58d59e25da30aa136959f7ddc631675babefe5 Mon Sep 17 00:00:00 2001
From: Colin Robertson <3836425+corob-msft@users.noreply.github.com>
Date: Tue, 18 Oct 2022 22:39:55 -0700
Subject: [PATCH 1/4] Bulk Fix CRT headings and matching links
---
.../32-bit-windows-time-date-formats.md | 2 +-
.../a-sample-generic-text-program.md | 12 +-
.../c-runtime-library/abnormal-termination.md | 2 +-
.../c-runtime-library/acmdln-tcmdln-wcmdln.md | 2 +-
docs/c-runtime-library/ansi-c-compliance.md | 2 +-
docs/c-runtime-library/argc-argv-wargv.md | 4 +-
docs/c-runtime-library/argument-access.md | 8 +-
.../backward-compatibility.md | 6 +-
docs/c-runtime-library/buffer-manipulation.md | 18 +-
docs/c-runtime-library/bufsiz.md | 6 +-
.../byte-and-wide-streams.md | 10 +-
docs/c-runtime-library/byte-classification.md | 38 +--
.../c-run-time-library-reference.md | 4 +-
docs/c-runtime-library/cgets-cgetws.md | 18 +-
.../character-classification.md | 58 ++---
docs/c-runtime-library/ciatan.md | 4 +-
docs/c-runtime-library/ciatan2.md | 4 +-
docs/c-runtime-library/cicos.md | 6 +-
docs/c-runtime-library/ciexp.md | 4 +-
docs/c-runtime-library/cifmod.md | 4 +-
docs/c-runtime-library/cilog.md | 4 +-
docs/c-runtime-library/cilog10.md | 4 +-
docs/c-runtime-library/cipow.md | 4 +-
docs/c-runtime-library/cisin.md | 6 +-
docs/c-runtime-library/cisqrt.md | 4 +-
docs/c-runtime-library/citan.md | 6 +-
.../clocks-per-sec-clk-tck.md | 4 +-
docs/c-runtime-library/code-pages.md | 10 +-
.../commit-to-disk-constants.md | 16 +-
docs/c-runtime-library/compatibility.md | 16 +-
.../c-runtime-library/complex-math-support.md | 58 ++---
.../c-runtime-library/console-and-port-i-o.md | 38 +--
.../constant-and-global-variable-mappings.md | 14 +-
docs/c-runtime-library/control-flags.md | 12 +-
docs/c-runtime-library/controlling-streams.md | 10 +-
.../country-region-strings.md | 8 +-
.../crt-disable-perfcrit-locks.md | 4 +-
docs/c-runtime-library/crt-initialization.md | 4 +-
.../c-runtime-library/crt-library-features.md | 12 +-
docs/c-runtime-library/crtdbg-map-alloc.md | 6 +-
docs/c-runtime-library/crtdbgflag.md | 6 +-
docs/c-runtime-library/crtlcmapstringw.md | 2 +-
docs/c-runtime-library/cxxframehandler.md | 2 +-
docs/c-runtime-library/data-alignment.md | 38 +--
docs/c-runtime-library/data-conversion.md | 78 +++----
docs/c-runtime-library/data-type-constants.md | 4 +-
docs/c-runtime-library/data-type-mappings.md | 14 +-
.../daylight-dstbias-timezone-and-tzname.md | 20 +-
docs/c-runtime-library/debug-routines.md | 174 +++++++-------
docs/c-runtime-library/debug.md | 4 +-
docs/c-runtime-library/direction-flag.md | 4 +-
docs/c-runtime-library/directory-control.md | 30 +--
docs/c-runtime-library/dllonexit.md | 6 +-
docs/c-runtime-library/environ-wenviron.md | 12 +-
.../environmental-constants.md | 4 +-
docs/c-runtime-library/eof-weof.md | 18 +-
docs/c-runtime-library/errno-constants.md | 8 +-
...errno-doserrno-sys-errlist-and-sys-nerr.md | 32 +--
docs/c-runtime-library/error-handling-crt.md | 20 +-
docs/c-runtime-library/except-handler3.md | 4 +-
.../exception-handling-constants.md | 4 +-
.../exception-handling-routines.md | 16 +-
.../c-runtime-library/exec-wexec-functions.md | 36 +--
...e-onexit-table-register-onexit-function.md | 10 +-
.../exit-success-exit-failure.md | 2 +-
.../file-attribute-constants.md | 6 +-
docs/c-runtime-library/file-constants.md | 8 +-
docs/c-runtime-library/file-handling.md | 70 +++---
.../file-permission-constants.md | 12 +-
.../file-read-write-access-constants.md | 16 +-
.../file-translation-constants.md | 14 +-
docs/c-runtime-library/filename-max.md | 4 +-
.../filename-search-functions.md | 12 +-
docs/c-runtime-library/files-and-streams.md | 14 +-
.../floating-point-support.md | 218 +++++++++---------
docs/c-runtime-library/fmode.md | 8 +-
docs/c-runtime-library/fopen-max-sys-open.md | 2 +-
...ation-fields-scanf-and-wscanf-functions.md | 12 +-
...ion-syntax-printf-and-wprintf-functions.md | 16 +-
docs/c-runtime-library/freeentry-usedentry.md | 4 +-
.../fseek-lseek-constants.md | 8 +-
.../generic-text-mappings.md | 14 +-
docs/c-runtime-library/get-output-format.md | 12 +-
.../getmainargs-wgetmainargs.md | 2 +-
docs/c-runtime-library/gets-getws.md | 22 +-
docs/c-runtime-library/global-constants.md | 100 ++++----
.../global-variables-and-standard-types.md | 8 +-
docs/c-runtime-library/global-variables.md | 58 ++---
docs/c-runtime-library/heap-constants.md | 10 +-
docs/c-runtime-library/heap-maxreq.md | 6 +-
docs/c-runtime-library/heapadd.md | 22 +-
docs/c-runtime-library/heapset.md | 14 +-
docs/c-runtime-library/huge-val-huge.md | 2 +-
docs/c-runtime-library/inp-inpw-inpd.md | 10 +-
docs/c-runtime-library/input-and-output.md | 10 +-
.../internal-crt-globals-and-functions.md | 86 +++----
.../c-runtime-library/internationalization.md | 4 +-
...tation-of-multibyte-character-sequences.md | 22 +-
docs/c-runtime-library/iob.md | 2 +-
docs/c-runtime-library/is-isw-routines.md | 44 ++--
docs/c-runtime-library/ismbb-routines.md | 60 ++---
docs/c-runtime-library/ismbc-routines.md | 58 ++---
docs/c-runtime-library/iso646-operators.md | 26 +--
docs/c-runtime-library/language-strings.md | 12 +-
docs/c-runtime-library/lc-codepage-func.md | 14 +-
docs/c-runtime-library/lc-collate-cp-func.md | 12 +-
docs/c-runtime-library/lc-locale-name-func.md | 12 +-
docs/c-runtime-library/link-options.md | 18 +-
docs/c-runtime-library/local-unwind2.md | 2 +-
docs/c-runtime-library/locale-categories.md | 16 +-
...es-languages-and-country-region-strings.md | 22 +-
docs/c-runtime-library/locale.md | 84 +++----
docs/c-runtime-library/lock.md | 4 +-
docs/c-runtime-library/locking-constants.md | 6 +-
docs/c-runtime-library/low-level-i-o.md | 38 +--
docs/c-runtime-library/math-constants.md | 4 +-
.../c-runtime-library/math-error-constants.md | 6 +-
docs/c-runtime-library/max-env.md | 4 +-
...-cur-max-l-func-p-mb-cur-max-mb-cur-max.md | 6 +-
docs/c-runtime-library/mb-cur-max.md | 18 +-
docs/c-runtime-library/memory-allocation.md | 54 ++---
.../multithreaded-libraries-performance.md | 12 +-
docs/c-runtime-library/nolock-functions.md | 40 ++--
docs/c-runtime-library/null-crt.md | 2 +-
docs/c-runtime-library/obsolete-functions.md | 24 +-
docs/c-runtime-library/outp-outpw-outpd.md | 12 +-
docs/c-runtime-library/p-commode.md | 4 +-
docs/c-runtime-library/p-fmode.md | 4 +-
.../c-runtime-library/parameter-validation.md | 14 +-
docs/c-runtime-library/path-field-limits.md | 4 +-
docs/c-runtime-library/pctype-func.md | 6 +-
...pctype-pwctype-wctype-mbctype-mbcasemap.md | 8 +-
docs/c-runtime-library/pgmptr-wpgmptr.md | 6 +-
...ssing-crt-objects-across-dll-boundaries.md | 2 +-
.../printf-p-positional-parameters.md | 18 +-
.../process-and-environment-control.md | 86 +++----
docs/c-runtime-library/rand-max.md | 4 +-
...r-choosing-between-functions-and-macros.md | 4 +-
docs/c-runtime-library/reference/abort.md | 12 +-
.../reference/abs-labs-llabs-abs64.md | 6 +-
.../reference/access-s-waccess-s.md | 20 +-
.../reference/access-waccess.md | 18 +-
.../reference/acos-acosf-acosl.md | 6 +-
.../reference/acosh-acoshf-acoshl.md | 16 +-
.../reference/aligned-free-dbg.md | 12 +-
.../reference/aligned-free.md | 2 +-
.../reference/aligned-malloc-dbg.md | 14 +-
.../reference/aligned-malloc.md | 6 +-
.../reference/aligned-msize-dbg.md | 14 +-
.../reference/aligned-msize.md | 12 +-
.../reference/aligned-offset-malloc-dbg.md | 14 +-
.../reference/aligned-offset-malloc.md | 6 +-
.../reference/aligned-offset-realloc-dbg.md | 14 +-
.../reference/aligned-offset-realloc.md | 6 +-
.../reference/aligned-offset-recalloc-dbg.md | 10 +-
.../reference/aligned-offset-recalloc.md | 10 +-
.../reference/aligned-realloc-dbg.md | 16 +-
.../reference/aligned-realloc.md | 6 +-
.../reference/aligned-recalloc-dbg.md | 16 +-
.../reference/aligned-recalloc.md | 10 +-
docs/c-runtime-library/reference/alloca.md | 6 +-
.../reference/asctime-s-wasctime-s.md | 26 +--
.../reference/asctime-wasctime.md | 22 +-
.../reference/asin-asinf-asinl.md | 6 +-
.../reference/asinh-asinhf-asinhl.md | 18 +-
.../assert-asserte-assert-expr-macros.md | 6 +-
.../reference/assert-macro-assert-wassert.md | 18 +-
.../atan-atanf-atanl-atan2-atan2f-atan2l.md | 10 +-
.../reference/atanh-atanhf-atanhl.md | 18 +-
docs/c-runtime-library/reference/atexit.md | 4 +-
...dbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md | 10 +-
.../reference/atof-atof-l-wtof-wtof-l.md | 22 +-
.../reference/atoi-atoi-l-wtoi-wtoi-l.md | 24 +-
.../atoi64-atoi64-l-wtoi64-wtoi64-l.md | 24 +-
.../reference/atol-atol-l-wtol-wtol-l.md | 14 +-
.../reference/atoll-atoll-l-wtoll-wtoll-l.md | 24 +-
.../reference/beginthread-beginthreadex.md | 18 +-
.../bessel-functions-j0-j1-jn-y0-y1-yn.md | 10 +-
docs/c-runtime-library/reference/bsearch-s.md | 8 +-
docs/c-runtime-library/reference/bsearch.md | 6 +-
docs/c-runtime-library/reference/btowc.md | 6 +-
...p-uint64-byteswap-ulong-byteswap-ushort.md | 4 +-
.../reference/cabs-cabsf-cabsl.md | 18 +-
docs/c-runtime-library/reference/cabs.md | 10 +-
.../reference/cacos-cacosf-cacosl.md | 30 +--
.../reference/cacosh-cacoshf-cacoshl.md | 30 +--
docs/c-runtime-library/reference/callnewh.md | 6 +-
.../c-runtime-library/reference/calloc-dbg.md | 20 +-
docs/c-runtime-library/reference/calloc.md | 12 +-
.../reference/carg-cargf-cargl.md | 20 +-
.../reference/casin-casinf-casinl.md | 30 +--
.../reference/casinh-casinhf-casinhl.md | 30 +--
.../reference/catan-catanf-catanl.md | 30 +--
.../reference/catanh-catanhf-catanhl.md | 30 +--
.../reference/cbrt-cbrtf-cbrtl.md | 12 +-
.../reference/cbuild-fcbuild-lcbuild.md | 24 +-
.../reference/ccos-ccosf-ccosl.md | 30 +--
.../reference/ccosh-ccoshf-ccoshl.md | 30 +--
.../reference/ceil-ceilf-ceill.md | 14 +-
.../reference/cexit-c-exit.md | 18 +-
.../reference/cexp-cexpf-cexpl.md | 6 +-
.../reference/cgets-s-cgetws-s.md | 18 +-
.../reference/chdir-wchdir.md | 10 +-
docs/c-runtime-library/reference/chdrive.md | 22 +-
.../reference/chgsign-chgsignf-chgsignl.md | 10 +-
.../reference/chmod-wchmod.md | 20 +-
docs/c-runtime-library/reference/chsize-s.md | 20 +-
docs/c-runtime-library/reference/chsize.md | 14 +-
.../reference/cimag-cimagf-cimagl.md | 20 +-
.../reference/clear87-clearfp.md | 10 +-
.../c-runtime-library/reference/clearerr-s.md | 22 +-
docs/c-runtime-library/reference/clearerr.md | 16 +-
docs/c-runtime-library/reference/clock.md | 6 +-
.../reference/clog-clogf-clogl.md | 12 +-
.../reference/clog10-clog10f-clog10l.md | 12 +-
docs/c-runtime-library/reference/close.md | 18 +-
.../reference/cmulcc-fcmulcc-lcmulcc.md | 24 +-
.../reference/cmulcr-fcmulcr-lcmulcr.md | 24 +-
docs/c-runtime-library/reference/commit.md | 16 +-
.../reference/configthreadlocale.md | 6 +-
.../reference/conj-conjf-conjl.md | 20 +-
.../control87-controlfp-control87-2.md | 6 +-
.../reference/controlfp-s.md | 12 +-
...-copysignl-copysign-copysignf-copysignl.md | 12 +-
.../reference/cos-cosf-cosl.md | 18 +-
.../reference/cosh-coshf-coshl.md | 8 +-
.../reference/countof-macro.md | 4 +-
.../reference/cpow-cpowf-cpowl.md | 12 +-
.../cprintf-cprintf-l-cwprintf-cwprintf-l.md | 28 +--
...f-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md | 34 +--
...f-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md | 28 +--
.../reference/cproj-cprojf-cprojl.md | 20 +-
.../reference/cputs-cputws.md | 14 +-
.../reference/creal-crealf-creall.md | 22 +-
.../reference/creat-wcreat.md | 26 +--
.../reference/create-locale-wcreate-locale.md | 46 ++--
.../crt-alphabetical-function-reference.md | 4 +-
.../reference/crtcheckmemory.md | 18 +-
.../reference/crtdbgbreak.md | 10 +-
.../reference/crtdbgreport-crtdbgreportw.md | 18 +-
.../reference/crtdoforallclientobjects.md | 16 +-
.../reference/crtdumpmemoryleaks.md | 14 +-
.../reference/crtgetallochook.md | 12 +-
.../reference/crtgetdumpclient.md | 14 +-
.../reference/crtgetreporthook.md | 12 +-
.../reference/crtismemoryblock.md | 12 +-
.../reference/crtisvalidheappointer.md | 12 +-
.../reference/crtisvalidpointer.md | 12 +-
.../reference/crtmemcheckpoint.md | 12 +-
.../reference/crtmemdifference.md | 16 +-
.../reference/crtmemdumpallobjectssince.md | 12 +-
.../reference/crtmemdumpstatistics.md | 12 +-
.../reference/crtreportblocktype.md | 18 +-
.../reference/crtsetallochook.md | 14 +-
.../reference/crtsetbreakalloc.md | 12 +-
.../reference/crtsetdbgflag.md | 18 +-
.../reference/crtsetdebugfillthreshold.md | 6 +-
.../reference/crtsetdumpclient.md | 16 +-
.../reference/crtsetreportfile.md | 12 +-
.../reference/crtsetreporthook.md | 14 +-
.../crtsetreporthook2-crtsetreporthookw2.md | 10 +-
.../reference/crtsetreportmode.md | 12 +-
.../cscanf-cscanf-l-cwscanf-cwscanf-l.md | 18 +-
...canf-s-cscanf-s-l-cwscanf-s-cwscanf-s-l.md | 24 +-
.../reference/csin-csinf-csinl.md | 30 +--
.../reference/csinh-csinhf-csinhl.md | 30 +--
.../reference/csqrt-csqrtf-csqrtl.md | 30 +--
.../reference/ctan-ctanf-ctanl.md | 30 +--
.../reference/ctanh-ctanhf-ctanhl.md | 30 +--
...time32-ctime64-wctime-wctime32-wctime64.md | 24 +-
...time64-s-wctime-s-wctime32-s-wctime64-s.md | 32 +--
docs/c-runtime-library/reference/cwait.md | 12 +-
.../reference/cxxthrowexception.md | 2 +-
.../difftime-difftime32-difftime64.md | 12 +-
docs/c-runtime-library/reference/div.md | 10 +-
docs/c-runtime-library/reference/dup-dup2.md | 8 +-
.../reference/dupenv-s-dbg-wdupenv-s-dbg.md | 16 +-
.../reference/dupenv-s-wdupenv-s.md | 18 +-
docs/c-runtime-library/reference/ecvt-s.md | 28 +--
docs/c-runtime-library/reference/ecvt.md | 16 +-
.../reference/endthread-endthreadex.md | 6 +-
docs/c-runtime-library/reference/eof.md | 18 +-
.../erf-erff-erfl-erfc-erfcf-erfcl.md | 8 +-
.../reference/execl-wexecl.md | 24 +-
.../reference/execle-wexecle.md | 26 +--
.../reference/execlp-wexeclp.md | 26 +--
.../reference/execlpe-wexeclpe.md | 26 +--
.../reference/execv-wexecv.md | 26 +--
.../reference/execve-wexecve.md | 26 +--
.../reference/execvp-wexecvp.md | 26 +--
.../reference/execvpe-wexecvpe.md | 26 +--
.../reference/exit-exit-exit.md | 22 +-
docs/c-runtime-library/reference/exp-expf.md | 10 +-
.../reference/exp2-exp2f-exp2l.md | 10 +-
.../c-runtime-library/reference/expand-dbg.md | 20 +-
docs/c-runtime-library/reference/expand.md | 22 +-
.../reference/expm1-expm1f-expm1l.md | 14 +-
.../reference/fabs-fabsf-fabsl.md | 8 +-
.../reference/fclose-fcloseall.md | 8 +-
.../reference/fclose-nolock.md | 16 +-
docs/c-runtime-library/reference/fcvt-s.md | 28 +--
docs/c-runtime-library/reference/fcvt.md | 16 +-
.../reference/fdim-fdimf-fdiml.md | 12 +-
.../reference/fdopen-wfdopen.md | 10 +-
.../reference/feclearexcept1.md | 8 +-
docs/c-runtime-library/reference/fegetenv1.md | 8 +-
.../reference/fegetexceptflag2.md | 8 +-
.../reference/fegetround-fesetround2.md | 12 +-
.../reference/feholdexcept2.md | 12 +-
docs/c-runtime-library/reference/feof.md | 18 +-
.../reference/feraiseexcept.md | 14 +-
docs/c-runtime-library/reference/ferror.md | 20 +-
docs/c-runtime-library/reference/fesetenv1.md | 14 +-
.../reference/fesetexceptflag2.md | 8 +-
.../reference/fetestexcept1.md | 10 +-
.../reference/feupdateenv.md | 12 +-
.../reference/fflush-nolock.md | 12 +-
docs/c-runtime-library/reference/fflush.md | 8 +-
.../reference/fgetc-fgetwc.md | 16 +-
.../reference/fgetc-nolock-fgetwc-nolock.md | 12 +-
.../reference/fgetchar-fgetwchar.md | 14 +-
docs/c-runtime-library/reference/fgetpos.md | 10 +-
.../reference/fgets-fgetws.md | 18 +-
.../reference/filelength-filelengthi64.md | 16 +-
docs/c-runtime-library/reference/fileno.md | 12 +-
docs/c-runtime-library/reference/findclose.md | 8 +-
.../reference/findfirst-functions.md | 16 +-
.../reference/findnext-functions.md | 14 +-
.../reference/finite-finitef.md | 14 +-
.../reference/floating-point-ordering.md | 14 +-
.../reference/floating-point-primitives.md | 26 +--
.../reference/floor-floorf-floorl.md | 14 +-
docs/c-runtime-library/reference/flushall.md | 16 +-
.../reference/fma-fmaf-fmal.md | 12 +-
.../reference/fmax-fmaxf-fmaxl.md | 10 +-
.../reference/fmin-fminf-fminl.md | 10 +-
.../c-runtime-library/reference/fmod-fmodf.md | 10 +-
.../reference/fopen-s-wfopen-s.md | 20 +-
.../reference/fopen-wfopen.md | 20 +-
.../reference/fpclass-fpclassf.md | 6 +-
.../c-runtime-library/reference/fpclassify.md | 8 +-
.../c-runtime-library/reference/fpieee-flt.md | 10 +-
docs/c-runtime-library/reference/fpreset.md | 12 +-
.../fprintf-fprintf-l-fwprintf-fwprintf-l.md | 20 +-
...f-p-fprintf-p-l-fwprintf-p-fwprintf-p-l.md | 30 +--
...f-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md | 16 +-
.../reference/fputc-fputwc.md | 14 +-
.../reference/fputc-nolock-fputwc-nolock.md | 12 +-
.../reference/fputchar-fputwchar.md | 16 +-
.../reference/fputs-fputws.md | 10 +-
.../reference/fread-nolock-s2.md | 12 +-
.../reference/fread-nolock.md | 10 +-
docs/c-runtime-library/reference/fread-s.md | 12 +-
docs/c-runtime-library/reference/fread.md | 20 +-
docs/c-runtime-library/reference/free-dbg.md | 14 +-
.../reference/free-locale.md | 6 +-
docs/c-runtime-library/reference/free.md | 8 +-
docs/c-runtime-library/reference/freea.md | 24 +-
.../reference/freopen-s-wfreopen-s.md | 16 +-
.../reference/freopen-wfreopen.md | 16 +-
docs/c-runtime-library/reference/frexp.md | 14 +-
.../fscanf-fscanf-l-fwscanf-fwscanf-l.md | 12 +-
...canf-s-fscanf-s-l-fwscanf-s-fwscanf-s-l.md | 26 +--
.../reference/fseek-fseeki64.md | 16 +-
.../reference/fseek-nolock-fseeki64-nolock.md | 12 +-
docs/c-runtime-library/reference/fsetpos.md | 10 +-
.../reference/fsopen-wfsopen.md | 30 +--
...-fstat64-fstati64-fstat32i64-fstat64i32.md | 12 +-
.../reference/ftell-ftelli64.md | 8 +-
.../reference/ftell-nolock-ftelli64-nolock.md | 14 +-
.../reference/ftime-ftime32-ftime64.md | 16 +-
.../reference/ftime-s-ftime32-s-ftime64-s.md | 22 +-
.../reference/fullpath-dbg-wfullpath-dbg.md | 12 +-
.../reference/fullpath-wfullpath.md | 10 +-
.../reference/futime-futime32-futime64.md | 10 +-
docs/c-runtime-library/reference/fwide.md | 4 +-
.../reference/fwrite-nolock.md | 10 +-
docs/c-runtime-library/reference/fwrite.md | 16 +-
docs/c-runtime-library/reference/gcvt-s.md | 24 +-
docs/c-runtime-library/reference/gcvt.md | 16 +-
.../reference/get-current-locale.md | 10 +-
.../reference/get-daylight.md | 16 +-
.../reference/get-doserrno.md | 10 +-
.../reference/get-dstbias.md | 10 +-
docs/c-runtime-library/reference/get-errno.md | 12 +-
.../get-fma3-enable-set-fma3-enable.md | 8 +-
docs/c-runtime-library/reference/get-fmode.md | 16 +-
.../reference/get-heap-handle.md | 6 +-
...-thread-local-invalid-parameter-handler.md | 8 +-
.../reference/get-osfhandle.md | 10 +-
.../c-runtime-library/reference/get-pgmptr.md | 10 +-
.../reference/get-printf-count-output.md | 8 +-
...t-purecall-handler-set-purecall-handler.md | 8 +-
.../reference/get-terminate.md | 14 +-
.../reference/get-timezone.md | 16 +-
.../c-runtime-library/reference/get-tzname.md | 12 +-
.../reference/get-unexpected.md | 14 +-
.../reference/get-wpgmptr.md | 10 +-
.../c-runtime-library/reference/getc-getwc.md | 18 +-
.../reference/getc-nolock-getwc-nolock.md | 16 +-
.../reference/getch-getwch.md | 10 +-
.../reference/getch-nolock-getwch-nolock.md | 16 +-
.../reference/getchar-getwchar.md | 18 +-
.../getchar-nolock-getwchar-nolock.md | 18 +-
.../reference/getche-getwche.md | 14 +-
.../reference/getche-nolock-getwche-nolock.md | 14 +-
.../reference/getcwd-dbg-wgetcwd-dbg.md | 14 +-
.../reference/getcwd-wgetcwd.md | 12 +-
.../reference/getdcwd-dbg-wgetdcwd-dbg.md | 16 +-
.../getdcwd-nolock-wgetdcwd-nolock.md | 18 +-
.../reference/getdcwd-wgetdcwd.md | 24 +-
.../reference/getdiskfree.md | 10 +-
docs/c-runtime-library/reference/getdrive.md | 12 +-
docs/c-runtime-library/reference/getdrives.md | 6 +-
.../reference/getenv-s-wgetenv-s.md | 22 +-
.../reference/getenv-wgetenv.md | 16 +-
.../reference/getmaxstdio.md | 6 +-
docs/c-runtime-library/reference/getmbcp.md | 6 +-
docs/c-runtime-library/reference/getpid.md | 6 +-
.../reference/gets-s-getws-s.md | 22 +-
docs/c-runtime-library/reference/getw.md | 10 +-
.../reference/gmtime-gmtime32-gmtime64.md | 10 +-
.../gmtime-s-gmtime32-s-gmtime64-s.md | 16 +-
docs/c-runtime-library/reference/heapchk.md | 14 +-
docs/c-runtime-library/reference/heapmin.md | 20 +-
docs/c-runtime-library/reference/heapwalk.md | 16 +-
...hypot-hypotf-hypotl-hypot-hypotf-hypotl.md | 14 +-
.../reference/ilogb-ilogbf-ilogbl2.md | 12 +-
docs/c-runtime-library/reference/imaxabs.md | 16 +-
docs/c-runtime-library/reference/imaxdiv.md | 12 +-
.../reference/initterm-initterm-e.md | 4 +-
.../reference/invalid-parameter-functions.md | 8 +-
.../isalnum-iswalnum-isalnum-l-iswalnum-l.md | 14 +-
.../isalpha-iswalpha-isalpha-l-iswalpha-l.md | 14 +-
.../reference/isascii-isascii-iswascii.md | 12 +-
docs/c-runtime-library/reference/isatty.md | 12 +-
.../isblank-iswblank-isblank-l-iswblank-l.md | 14 +-
.../iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md | 14 +-
.../reference/iscsym-functions.md | 12 +-
.../isctype-iswctype-isctype-l-iswctype-l.md | 16 +-
.../isdigit-iswdigit-isdigit-l-iswdigit-l.md | 14 +-
.../isgraph-iswgraph-isgraph-l-iswgraph-l.md | 14 +-
docs/c-runtime-library/reference/isinf.md | 14 +-
.../reference/isleadbyte-isleadbyte-l.md | 12 +-
.../islower-iswlower-islower-l-iswlower-l.md | 14 +-
.../reference/ismbbalnum-ismbbalnum-l.md | 10 +-
.../reference/ismbbalpha-ismbbalpha-l.md | 10 +-
.../reference/ismbbblank-ismbbblank-l.md | 10 +-
.../reference/ismbbgraph-ismbbgraph-l.md | 12 +-
.../reference/ismbbkalnum-ismbbkalnum-l.md | 10 +-
.../reference/ismbbkana-ismbbkana-l.md | 10 +-
.../reference/ismbbkprint-ismbbkprint-l.md | 10 +-
.../reference/ismbbkpunct-ismbbkpunct-l.md | 10 +-
.../reference/ismbblead-ismbblead-l.md | 8 +-
.../reference/ismbbprint-ismbbprint-l.md | 10 +-
.../reference/ismbbpunct-ismbbpunct-l.md | 10 +-
.../reference/ismbbtrail-ismbbtrail-l.md | 10 +-
.../reference/ismbcalnum-functions.md | 14 +-
.../reference/ismbcgraph-functions.md | 20 +-
...chira-ismbchira-l-ismbckata-ismbckata-l.md | 16 +-
...0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md | 12 +-
...-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md | 16 +-
...er-ismbclower-l-ismbcupper-ismbcupper-l.md | 18 +-
...ead-ismbstrail-ismbslead-l-ismbstrail-l.md | 16 +-
.../reference/isnan-isnan-isnanf.md | 16 +-
docs/c-runtime-library/reference/isnormal.md | 12 +-
.../isprint-iswprint-isprint-l-iswprint-l.md | 14 +-
.../ispunct-iswpunct-ispunct-l-iswpunct-l.md | 14 +-
.../isspace-iswspace-isspace-l-iswspace-l.md | 14 +-
.../isupper-isupper-l-iswupper-iswupper-l.md | 14 +-
...xdigit-iswxdigit-isxdigit-l-iswxdigit-l.md | 14 +-
docs/c-runtime-library/reference/itoa-itow.md | 12 +-
.../reference/itoa-s-itow-s.md | 14 +-
docs/c-runtime-library/reference/kbhit.md | 10 +-
docs/c-runtime-library/reference/ldexp.md | 14 +-
docs/c-runtime-library/reference/lfind-s.md | 20 +-
docs/c-runtime-library/reference/lfind.md | 16 +-
.../reference/lgamma-lgammaf-lgammal.md | 10 +-
.../c-runtime-library/reference/localeconv.md | 18 +-
.../localtime-localtime32-localtime64.md | 26 +--
...localtime-s-localtime32-s-localtime64-s.md | 32 +--
docs/c-runtime-library/reference/lock-file.md | 10 +-
docs/c-runtime-library/reference/locking.md | 18 +-
.../reference/log-logf-log10-log10f.md | 12 +-
.../reference/log1p-log1pf-log1pl2.md | 8 +-
.../reference/log2-log2f-log2l.md | 10 +-
.../reference/logb-logbf-logbl-logb-logbf.md | 10 +-
docs/c-runtime-library/reference/longjmp.md | 4 +-
...nt-lrintf-lrintl-llrint-llrintf-llrintl.md | 8 +-
.../reference/lrotl-lrotr.md | 8 +-
...oundf-lroundl-llround-llroundf-llroundl.md | 22 +-
docs/c-runtime-library/reference/lsearch-s.md | 18 +-
docs/c-runtime-library/reference/lsearch.md | 14 +-
.../reference/lseek-lseeki64.md | 16 +-
.../reference/makepath-s-wmakepath-s.md | 24 +-
.../reference/makepath-wmakepath.md | 16 +-
.../c-runtime-library/reference/malloc-dbg.md | 20 +-
docs/c-runtime-library/reference/malloc.md | 28 +--
docs/c-runtime-library/reference/malloca.md | 10 +-
docs/c-runtime-library/reference/matherr.md | 11 +-
docs/c-runtime-library/reference/max.md | 6 +-
.../reference/mbbtombc-mbbtombc-l.md | 10 +-
.../reference/mbbtype-mbbtype-l.md | 8 +-
.../reference/mbccpy-mbccpy-l.md | 16 +-
.../reference/mbccpy-s-mbccpy-s-l.md | 18 +-
...mbcjistojms-l-mbcjmstojis-mbcjmstojis-l.md | 12 +-
.../reference/mbclen-mblen-mblen-l.md | 14 +-
...ohira-mbctohira-l-mbctokata-mbctokata-l.md | 14 +-
...er-mbctolower-l-mbctoupper-mbctoupper-l.md | 18 +-
.../reference/mbctombb-mbctombb-l.md | 16 +-
docs/c-runtime-library/reference/mbrlen.md | 10 +-
docs/c-runtime-library/reference/mbrtowc.md | 10 +-
.../reference/mbsbtype-mbsbtype-l.md | 10 +-
docs/c-runtime-library/reference/mbsinit.md | 8 +-
.../reference/mbsnbcat-mbsnbcat-l.md | 30 +--
.../reference/mbsnbcat-s-mbsnbcat-s-l.md | 18 +-
.../reference/mbsnbcmp-mbsnbcmp-l.md | 26 +--
...oll-mbsnbcoll-l-mbsnbicoll-mbsnbicoll-l.md | 26 +--
.../reference/mbsnbcpy-mbsnbcpy-l.md | 26 +--
.../reference/mbsnbcpy-s-mbsnbcpy-s-l.md | 28 +--
.../reference/mbsnbicmp-mbsnbicmp-l.md | 18 +-
.../reference/mbsnbset-mbsnbset-l.md | 20 +-
.../reference/mbsnbset-s-mbsnbset-s-l.md | 22 +-
.../reference/mbsrtowcs-s.md | 26 +--
docs/c-runtime-library/reference/mbsrtowcs.md | 20 +-
.../reference/mbstowcs-mbstowcs-l.md | 16 +-
.../reference/mbstowcs-s-mbstowcs-s-l.md | 32 +--
.../reference/mbtowc-mbtowc-l.md | 22 +-
docs/c-runtime-library/reference/memccpy.md | 18 +-
.../reference/memchr-wmemchr.md | 18 +-
.../reference/memcmp-wmemcmp.md | 20 +-
.../reference/memcpy-s-wmemcpy-s.md | 28 +--
.../reference/memcpy-wmemcpy.md | 8 +-
.../reference/memicmp-memicmp-l.md | 24 +-
.../reference/memmove-s-wmemmove-s.md | 24 +-
.../reference/memmove-wmemmove.md | 8 +-
.../reference/memset-wmemset.md | 10 +-
docs/c-runtime-library/reference/min.md | 6 +-
.../reference/mkdir-wmkdir.md | 18 +-
.../mkgmtime-mkgmtime32-mkgmtime64.md | 4 +-
.../reference/mktemp-s-wmktemp-s.md | 32 +--
.../reference/mktemp-wmktemp.md | 24 +-
.../reference/mktime-mktime32-mktime64.md | 14 +-
.../reference/modf-modff-modfl.md | 6 +-
docs/c-runtime-library/reference/msize-dbg.md | 16 +-
docs/c-runtime-library/reference/msize.md | 12 +-
.../reference/nan-nanf-nanl.md | 16 +-
.../nearbyint-nearbyintf-nearbyintl1.md | 10 +-
.../reference/nextafter-functions.md | 8 +-
.../reference/norm-normf-norml1.md | 18 +-
.../reference/offsetof-macro.md | 8 +-
.../reference/onexit-onexit-m.md | 12 +-
.../reference/open-osfhandle.md | 6 +-
.../c-runtime-library/reference/open-wopen.md | 14 +-
docs/c-runtime-library/reference/pclose.md | 14 +-
.../reference/perror-wperror.md | 18 +-
docs/c-runtime-library/reference/pipe.md | 12 +-
.../reference/popen-wpopen.md | 12 +-
.../reference/pow-powf-powl.md | 18 +-
...intf-p-printf-p-l-wprintf-p-wprintf-p-l.md | 38 +--
.../printf-printf-l-wprintf-wprintf-l.md | 34 +--
...intf-s-printf-s-l-wprintf-s-wprintf-s-l.md | 34 +--
docs/c-runtime-library/reference/purecall.md | 4 +-
.../reference/putc-nolock-putwc-nolock.md | 14 +-
.../c-runtime-library/reference/putc-putwc.md | 18 +-
.../reference/putch-nolock-putwch-nolock.md | 14 +-
.../reference/putch-putwch.md | 14 +-
.../putchar-nolock-putwchar-nolock.md | 14 +-
.../reference/putchar-putwchar.md | 18 +-
.../reference/putenv-s-wputenv-s.md | 16 +-
.../reference/putenv-wputenv.md | 10 +-
.../c-runtime-library/reference/puts-putws.md | 18 +-
docs/c-runtime-library/reference/putw.md | 14 +-
docs/c-runtime-library/reference/qsort-s.md | 20 +-
docs/c-runtime-library/reference/qsort.md | 6 +-
.../reference/query-new-handler.md | 10 +-
.../reference/query-new-mode.md | 16 +-
.../reference/quick-exit1.md | 20 +-
docs/c-runtime-library/reference/raise.md | 12 +-
docs/c-runtime-library/reference/rand-s.md | 12 +-
docs/c-runtime-library/reference/rand.md | 6 +-
docs/c-runtime-library/reference/read.md | 12 +-
.../reference/realloc-dbg.md | 18 +-
docs/c-runtime-library/reference/realloc.md | 12 +-
.../reference/recalloc-dbg.md | 16 +-
docs/c-runtime-library/reference/recalloc.md | 20 +-
.../remainder-remainderf-remainderl.md | 8 +-
.../reference/remove-wremove.md | 12 +-
.../reference/remquo-remquof-remquol.md | 16 +-
.../reference/rename-wrename.md | 12 +-
.../reference/resetstkoflw.md | 10 +-
docs/c-runtime-library/reference/rewind.md | 10 +-
.../reference/rint-rintf-rintl.md | 22 +-
.../reference/rmdir-wrmdir.md | 16 +-
docs/c-runtime-library/reference/rmtmp.md | 14 +-
.../reference/rotl-rotl64-rotr-rotr64.md | 10 +-
.../reference/round-roundf-roundl.md | 8 +-
.../reference/rpt-rptf-rptw-rptfw-macros.md | 10 +-
.../reference/rtc-geterrdesc.md | 10 +-
.../reference/rtc-numerrors.md | 10 +-
.../reference/rtc-seterrorfunc.md | 10 +-
.../reference/rtc-seterrorfuncw.md | 14 +-
.../reference/rtc-seterrortype.md | 12 +-
docs/c-runtime-library/reference/scalb.md | 8 +-
...albnf-scalbnl-scalbln-scalblnf-scalblnl.md | 16 +-
.../scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md | 30 +--
.../scanf-scanf-l-wscanf-wscanf-l.md | 26 +--
...-scprintf-p-l-scwprintf-p-scwprintf-p-l.md | 18 +-
...printf-scprintf-l-scwprintf-scwprintf-l.md | 24 +-
.../reference/searchenv-s-wsearchenv-s.md | 22 +-
.../reference/searchenv-wsearchenv.md | 18 +-
.../reference/security-init-cookie.md | 2 +-
.../seh-filter-dll-seh-filter-exe.md | 4 +-
.../reference/set-abort-behavior.md | 4 +-
.../reference/set-controlfp.md | 10 +-
.../reference/set-doserrno.md | 10 +-
docs/c-runtime-library/reference/set-errno.md | 10 +-
.../reference/set-error-mode.md | 6 +-
docs/c-runtime-library/reference/set-fmode.md | 16 +-
...-thread-local-invalid-parameter-handler.md | 10 +-
.../reference/set-new-handler.md | 4 +-
.../reference/set-new-mode.md | 20 +-
.../reference/set-printf-count-output.md | 8 +-
.../reference/set-se-translator.md | 8 +-
.../reference/set-sse2-enable.md | 6 +-
.../reference/set-terminate-crt.md | 16 +-
.../reference/set-unexpected-crt.md | 6 +-
docs/c-runtime-library/reference/setbuf.md | 12 +-
docs/c-runtime-library/reference/setjmp.md | 6 +-
.../reference/setlocale-wsetlocale.md | 20 +-
.../reference/setmaxstdio.md | 12 +-
docs/c-runtime-library/reference/setmbcp.md | 10 +-
docs/c-runtime-library/reference/setmode.md | 18 +-
docs/c-runtime-library/reference/setvbuf.md | 20 +-
docs/c-runtime-library/reference/signal.md | 22 +-
docs/c-runtime-library/reference/signbit.md | 14 +-
.../reference/sin-sinf-sinl.md | 10 +-
.../reference/sinh-sinhf-sinhl.md | 10 +-
...-snprintf-s-l-snwprintf-s-snwprintf-s-l.md | 34 +--
...printf-snprintf-l-snwprintf-snwprintf-l.md | 30 +--
...f-s-snscanf-s-l-snwscanf-s-snwscanf-s-l.md | 16 +-
.../snscanf-snscanf-l-snwscanf-snwscanf-l.md | 12 +-
.../reference/sopen-s-wsopen-s.md | 12 +-
.../reference/sopen-wsopen.md | 10 +-
.../reference/spawnl-wspawnl.md | 32 +--
.../reference/spawnle-wspawnle.md | 32 +--
.../reference/spawnlp-wspawnlp.md | 32 +--
.../reference/spawnlpe-wspawnlpe.md | 32 +--
.../reference/spawnv-wspawnv.md | 32 +--
.../reference/spawnve-wspawnve.md | 32 +--
.../reference/spawnvp-wspawnvp.md | 32 +--
.../reference/spawnvpe-wspawnvpe.md | 26 +--
.../reference/splitpath-s-wsplitpath-s.md | 26 +--
.../reference/splitpath-wsplitpath.md | 20 +-
...f-p-sprintf-p-l-swprintf-p-swprintf-p-l.md | 34 +--
...f-s-sprintf-s-l-swprintf-s-swprintf-s-l.md | 28 +--
...printf-l-swprintf-swprintf-l-swprintf-l.md | 24 +-
.../reference/sqrt-sqrtf-sqrtl.md | 10 +-
docs/c-runtime-library/reference/srand.md | 4 +-
...canf-s-sscanf-s-l-swscanf-s-swscanf-s-l.md | 26 +--
.../sscanf-sscanf-l-swscanf-swscanf-l.md | 24 +-
.../reference/stat-functions.md | 22 +-
.../reference/static-assert-macro.md | 4 +-
.../reference/status87-statusfp-statusfp2.md | 10 +-
.../reference/strcat-s-wcscat-s-mbscat-s.md | 30 +--
.../reference/strcat-wcscat-mbscat.md | 22 +-
.../strchr-wcschr-mbschr-mbschr-l.md | 32 +--
.../reference/strcmp-wcscmp-mbscmp.md | 30 +--
...l-mbscoll-strcoll-l-wcscoll-l-mbscoll-l.md | 32 +--
.../reference/strcpy-s-wcscpy-s-mbscpy-s.md | 34 +--
.../reference/strcpy-wcscpy-mbscpy.md | 26 +--
.../strcspn-wcscspn-mbscspn-mbscspn-l.md | 28 +--
.../reference/strdate-s-wstrdate-s.md | 10 +-
.../reference/strdate-wstrdate.md | 26 +--
.../strdec-wcsdec-mbsdec-mbsdec-l.md | 22 +-
.../reference/strdup-dbg-wcsdup-dbg.md | 14 +-
.../reference/strdup-wcsdup-mbsdup.md | 26 +--
...rror-s-strerror-s-wcserror-s-wcserror-s.md | 16 +-
.../strerror-strerror-wcserror-wcserror.md | 8 +-
...strftime-wcsftime-strftime-l-wcsftime-l.md | 26 +--
...p-mbsicmp-stricmp-l-wcsicmp-l-mbsicmp-l.md | 32 +--
...sicoll-stricoll-l-wcsicoll-l-mbsicoll-l.md | 32 +--
.../strinc-wcsinc-mbsinc-mbsinc-l.md | 20 +-
...len-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md | 32 +--
...mbslwr-s-mbslwr-s-l-wcslwr-s-wcslwr-s-l.md | 22 +-
...cslwr-mbslwr-strlwr-l-wcslwr-l-mbslwr-l.md | 18 +-
...cat-s-wcsncat-s-l-mbsncat-s-mbsncat-s-l.md | 48 ++--
...t-l-wcsncat-wcsncat-l-mbsncat-mbsncat-l.md | 18 +-
.../strncmp-wcsncmp-mbsncmp-mbsncmp-l.md | 32 +--
...mbsnbcnt-mbsnbcnt-l-mbsnccnt-mbsnccnt-l.md | 18 +-
...sncoll-strncoll-l-wcsncoll-l-mbsncoll-l.md | 32 +--
...cpy-s-wcsncpy-s-l-mbsncpy-s-mbsncpy-s-l.md | 44 ++--
...y-l-wcsncpy-wcsncpy-l-mbsncpy-mbsncpy-l.md | 44 ++--
.../strnextc-wcsnextc-mbsnextc-mbsnextc-l.md | 28 +--
...snicmp-strnicmp-l-wcsnicmp-l-mbsnicmp-l.md | 30 +--
...oll-strnicoll-l-wcsnicoll-l-mbsnicoll-l.md | 32 +--
.../strninc-wcsninc-mbsninc-mbsninc-l.md | 24 +-
.../reference/strnlen-strnlen-s.md | 32 +--
...set-s-wcsnset-s-l-mbsnset-s-mbsnset-s-l.md | 26 +--
...t-l-wcsnset-wcsnset-l-mbsnset-mbsnset-l.md | 24 +-
.../strpbrk-wcspbrk-mbspbrk-mbspbrk-l.md | 24 +-
.../strrchr-wcsrchr-mbsrchr-mbsrchr-l.md | 16 +-
.../strrev-wcsrev-mbsrev-mbsrev-l.md | 22 +-
...wcsset-s-wcsset-s-l-mbsset-s-mbsset-s-l.md | 30 +--
...trset-l-wcsset-wcsset-l-mbsset-mbsset-l.md | 30 +--
.../strspn-wcsspn-mbsspn-mbsspn-l.md | 30 +--
.../strspnp-wcsspnp-mbsspnp-mbsspnp-l.md | 32 +--
.../strstr-wcsstr-mbsstr-mbsstr-l.md | 30 +--
.../reference/strtime-s-wstrtime-s.md | 32 +--
.../reference/strtime-wstrtime.md | 26 +--
.../strtod-strtod-l-wcstod-wcstod-l.md | 22 +-
.../strtof-strtof-l-wcstof-wcstof-l.md | 36 +--
...strtoi64-wcstoi64-strtoi64-l-wcstoi64-l.md | 12 +-
...oimax-strtoimax-l-wcstoimax-wcstoimax-l.md | 30 +--
...wcstok-s-wcstok-s-l-mbstok-s-mbstok-s-l.md | 24 +-
...trtok-l-wcstok-wcstok-l-mbstok-mbstok-l.md | 20 +-
.../strtol-wcstol-strtol-l-wcstol-l.md | 8 +-
.../strtold-strtold-l-wcstold-wcstold-l.md | 36 +--
.../strtoll-strtoll-l-wcstoll-wcstoll-l.md | 28 +--
...oui64-wcstoui64-strtoui64-l-wcstoui64-l.md | 12 +-
.../strtoul-strtoul-l-wcstoul-wcstoul-l.md | 14 +-
...strtoull-strtoull-l-wcstoull-wcstoull-l.md | 30 +--
...oumax-strtoumax-l-wcstoumax-wcstoumax-l.md | 32 +--
...mbsupr-s-mbsupr-s-l-wcsupr-s-wcsupr-s-l.md | 22 +-
...trupr-l-mbsupr-mbsupr-l-wcsupr-l-wcsupr.md | 18 +-
.../strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md | 26 +--
docs/c-runtime-library/reference/swab.md | 6 +-
.../reference/system-wsystem.md | 16 +-
.../reference/tan-tanf-tanl.md | 8 +-
.../reference/tanh-tanhf-tanhl.md | 6 +-
.../reference/tell-telli64.md | 12 +-
.../reference/tempnam-dbg-wtempnam-dbg.md | 12 +-
.../tempnam-wtempnam-tmpnam-wtmpnam.md | 18 +-
.../reference/terminate-crt.md | 14 +-
.../reference/tgamma-tgammaf-tgammal.md | 10 +-
.../reference/time-time32-time64.md | 22 +-
...spec-get-timespec32-get-timespec64-get1.md | 24 +-
docs/c-runtime-library/reference/tmpfile-s.md | 16 +-
docs/c-runtime-library/reference/tmpfile.md | 10 +-
.../reference/tmpnam-s-wtmpnam-s.md | 24 +-
.../reference/toascii-toascii.md | 10 +-
...r-tolower-towlower-tolower-l-towlower-l.md | 20 +-
...r-toupper-towupper-toupper-l-towupper-l.md | 20 +-
docs/c-runtime-library/reference/towctrans.md | 6 +-
.../reference/trunc-truncf-truncl.md | 14 +-
docs/c-runtime-library/reference/tzset.md | 16 +-
docs/c-runtime-library/reference/umask-s.md | 10 +-
docs/c-runtime-library/reference/umask.md | 8 +-
.../reference/uncaught-exception.md | 4 +-
.../reference/unexpected-crt.md | 14 +-
.../reference/ungetc-nolock-ungetwc-nolock.md | 14 +-
.../reference/ungetc-ungetwc.md | 16 +-
...ungetwch-ungetch-nolock-ungetwch-nolock.md | 12 +-
.../reference/unlink-wunlink.md | 16 +-
.../reference/unlock-file.md | 10 +-
...time32-utime64-wutime-wutime32-wutime64.md | 30 +--
.../va-arg-va-copy-va-end-va-start.md | 8 +-
...-vcprintf-p-l-vcwprintf-p-vcwprintf-p-l.md | 24 +-
...-vcprintf-s-l-vcwprintf-s-vcwprintf-s-l.md | 28 +--
...printf-vcprintf-l-vcwprintf-vcwprintf-l.md | 26 +--
...-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md | 34 +--
...-vfprintf-s-l-vfwprintf-s-vfwprintf-s-l.md | 28 +--
...printf-vfprintf-l-vfwprintf-vfwprintf-l.md | 26 +--
.../reference/vfscanf-s-vfwscanf-s.md | 28 +--
.../reference/vfscanf-vfwscanf.md | 24 +-
...f-p-vprintf-p-l-vwprintf-p-vwprintf-p-l.md | 34 +--
...f-s-vprintf-s-l-vwprintf-s-vwprintf-s-l.md | 28 +--
.../vprintf-vprintf-l-vwprintf-vwprintf-l.md | 26 +--
.../reference/vscanf-s-vwscanf-s.md | 30 +--
.../reference/vscanf-vwscanf.md | 28 +--
...cprintf-p-l-vscwprintf-p-vscwprintf-p-l.md | 16 +-
...ntf-vscprintf-l-vscwprintf-vscwprintf-l.md | 24 +-
...nprintf-s-l-vsnwprintf-s-vsnwprintf-s-l.md | 32 +--
...ntf-vsnprintf-l-vsnwprintf-vsnwprintf-l.md | 28 +--
...-vsprintf-p-l-vswprintf-p-vswprintf-p-l.md | 24 +-
...-vsprintf-s-l-vswprintf-s-vswprintf-s-l.md | 22 +-
...ntf-l-vswprintf-vswprintf-l-vswprintf-l.md | 20 +-
.../reference/vsscanf-s-vswscanf-s.md | 28 +--
.../reference/vsscanf-vswscanf.md | 22 +-
docs/c-runtime-library/reference/wcrtomb-s.md | 14 +-
docs/c-runtime-library/reference/wcrtomb.md | 12 +-
.../reference/wcsrtombs-s.md | 28 +--
docs/c-runtime-library/reference/wcsrtombs.md | 20 +-
.../reference/wcstombs-s-wcstombs-s-l.md | 30 +--
.../reference/wcstombs-wcstombs-l.md | 14 +-
docs/c-runtime-library/reference/wctob.md | 18 +-
.../reference/wctomb-s-wctomb-s-l.md | 24 +-
.../reference/wctomb-wctomb-l.md | 22 +-
docs/c-runtime-library/reference/wctrans.md | 8 +-
docs/c-runtime-library/reference/wctype.md | 6 +-
docs/c-runtime-library/reference/write.md | 10 +-
.../required-and-optional-header-files.md | 6 +-
docs/c-runtime-library/robustness.md | 14 +-
docs/c-runtime-library/routine-mappings.md | 16 +-
docs/c-runtime-library/rtdynamiccast.md | 2 +-
.../run-time-error-checking.md | 12 +-
.../run-time-routines-by-category.md | 48 ++--
docs/c-runtime-library/sal-annotations.md | 4 +-
.../sbcs-and-mbcs-data-types.md | 4 +-
.../scanf-type-field-characters.md | 6 +-
.../scanf-width-specification.md | 10 +-
.../searching-and-sorting.md | 22 +-
.../secure-template-overloads.md | 8 +-
...rity-enhanced-versions-of-crt-functions.md | 160 ++++++-------
.../security-features-in-the-crt.md | 20 +-
docs/c-runtime-library/set-output-format.md | 8 +-
docs/c-runtime-library/setjmp3.md | 6 +-
...e-func-unguarded-readlc-active-add-func.md | 4 +-
docs/c-runtime-library/setusermatherr.md | 2 +-
docs/c-runtime-library/setvbuf-constants.md | 6 +-
docs/c-runtime-library/sharing-constants.md | 10 +-
.../signal-action-constants.md | 6 +-
docs/c-runtime-library/signal-constants.md | 8 +-
...ingle-byte-and-multibyte-character-sets.md | 6 +-
docs/c-runtime-library/spawn-constants.md | 6 +-
.../spawn-wspawn-functions.md | 42 ++--
docs/c-runtime-library/standard-types.md | 80 +++----
.../stat-structure-st-mode-field-constants.md | 12 +-
docs/c-runtime-library/stdin-stdout-stderr.md | 8 +-
docs/c-runtime-library/strcoll-functions.md | 28 +--
docs/c-runtime-library/stream-i-o.md | 118 +++++-----
docs/c-runtime-library/stream-states.md | 16 +-
.../string-manipulation-crt.md | 98 ++++----
.../string-to-numeric-value-functions.md | 22 +-
docs/c-runtime-library/system-calls.md | 18 +-
.../text-and-binary-mode-file-i-o.md | 12 +-
.../text-and-binary-streams.md | 8 +-
docs/c-runtime-library/time-management.md | 42 ++--
docs/c-runtime-library/tmp-max-l-tmpnam.md | 2 +-
docs/c-runtime-library/to-functions.md | 12 +-
.../translation-mode-constants.md | 14 +-
docs/c-runtime-library/truncate.md | 32 +--
docs/c-runtime-library/type-checking-crt.md | 4 +-
docs/c-runtime-library/tzname-max.md | 8 +-
...ode-stream-i-o-in-text-and-binary-modes.md | 6 +-
.../unicode-the-wide-character-set.md | 4 +-
docs/c-runtime-library/unix.md | 2 +-
docs/c-runtime-library/unlock.md | 4 +-
.../using-generic-text-mappings.md | 16 +-
.../using-tchar-h-data-types-with-mbcs.md | 10 +-
docs/c-runtime-library/vprintf-functions.md | 88 +++----
.../wait-child-wait-grandchild.md | 4 +-
docs/c-runtime-library/wchar-max.md | 2 +-
docs/c-runtime-library/wchar-min.md | 2 +-
.../windows-platforms-crt.md | 4 +-
...ndows-runtime-unsupported-crt-functions.md | 8 +-
...-the-windows-runtime-and-the-c-run-time.md | 6 +-
847 files changed, 7281 insertions(+), 7282 deletions(-)
diff --git a/docs/c-runtime-library/32-bit-windows-time-date-formats.md b/docs/c-runtime-library/32-bit-windows-time-date-formats.md
index bb77e184b1e..e6957f88f74 100644
--- a/docs/c-runtime-library/32-bit-windows-time-date-formats.md
+++ b/docs/c-runtime-library/32-bit-windows-time-date-formats.md
@@ -29,4 +29,4 @@ The file time and the date are stored individually, using unsigned integers as b
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/a-sample-generic-text-program.md b/docs/c-runtime-library/a-sample-generic-text-program.md
index eb18a8e6b5c..95628a223a2 100644
--- a/docs/c-runtime-library/a-sample-generic-text-program.md
+++ b/docs/c-runtime-library/a-sample-generic-text-program.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["_TCHAR type", "mappings, TCHAR.H data types", "generic-text example [CRT]", "TCHAR type", "TCHAR.H data types, mapping"]
ms.assetid: a03de0db-8118-4bd9-a03f-640e8dfc5ed3
---
-# A Sample Generic-Text Program
+# A sample generic-text program
**Microsoft Specific**
@@ -166,8 +166,8 @@ int __cdecl main(int argc, char **argv, char **envp)
## See also
-[Generic-Text Mappings](../c-runtime-library/generic-text-mappings.md)
-[Data Type Mappings](../c-runtime-library/data-type-mappings.md)
-[Constant and Global Variable Mappings](../c-runtime-library/constant-and-global-variable-mappings.md)
-[Routine Mappings](../c-runtime-library/routine-mappings.md)
-[Using Generic-Text Mappings](../c-runtime-library/using-generic-text-mappings.md)
+[Generic-text mappings](./generic-text-mappings.md)\
+[Data type mappings](./data-type-mappings.md)\
+[Constant and global variable mappings](./constant-and-global-variable-mappings.md)\
+[Routine mappings](./routine-mappings.md)\
+[Using generic-text mappings](./using-generic-text-mappings.md)
diff --git a/docs/c-runtime-library/abnormal-termination.md b/docs/c-runtime-library/abnormal-termination.md
index 13094b903d7..31c60e964a8 100644
--- a/docs/c-runtime-library/abnormal-termination.md
+++ b/docs/c-runtime-library/abnormal-termination.md
@@ -21,7 +21,7 @@ int _abnormal_termination(
);
```
-## Return Value
+## Return value
**`true`** if the system is *unwinding* the stack; otherwise, **`false`**.
diff --git a/docs/c-runtime-library/acmdln-tcmdln-wcmdln.md b/docs/c-runtime-library/acmdln-tcmdln-wcmdln.md
index b3439f2065a..43f9ba680ab 100644
--- a/docs/c-runtime-library/acmdln-tcmdln-wcmdln.md
+++ b/docs/c-runtime-library/acmdln-tcmdln-wcmdln.md
@@ -32,4 +32,4 @@ These CRT internal variables store the complete command line. They're exposed in
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
+[Global variables](./global-variables.md)
diff --git a/docs/c-runtime-library/ansi-c-compliance.md b/docs/c-runtime-library/ansi-c-compliance.md
index 947f0a6054b..a097cad3fe7 100644
--- a/docs/c-runtime-library/ansi-c-compliance.md
+++ b/docs/c-runtime-library/ansi-c-compliance.md
@@ -17,4 +17,4 @@ The names of Microsoft-specific macros and manifest constants begin with two und
## See also
-[Compatibility](../c-runtime-library/compatibility.md)
+[Compatibility](./compatibility.md)
diff --git a/docs/c-runtime-library/argc-argv-wargv.md b/docs/c-runtime-library/argc-argv-wargv.md
index ebc63c4e8f7..2ef7e26e4cf 100644
--- a/docs/c-runtime-library/argc-argv-wargv.md
+++ b/docs/c-runtime-library/argc-argv-wargv.md
@@ -41,10 +41,10 @@ For portable code, we recommend you use the arguments passed to `main` to get th
|---------------------|---------------------|
|`__argc`, `__argv`, `__wargv`|\, \ (C++)|
-`__argc`, `__argv`, and `__wargv` are Microsoft extensions. For compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+`__argc`, `__argv`, and `__wargv` are Microsoft extensions. For compatibility information, see [Compatibility](./compatibility.md).
## See also
-[Global variables](../c-runtime-library/global-variables.md)\
+[Global variables](./global-variables.md)\
[`main` function and command-line arguments (C++)](../cpp/main-function-command-line-args.md)\
[Using `wmain` instead of `main`](../cpp/main-function-command-line-args.md)
diff --git a/docs/c-runtime-library/argument-access.md b/docs/c-runtime-library/argument-access.md
index 0f31799ba6f..2dc58903ad2 100644
--- a/docs/c-runtime-library/argument-access.md
+++ b/docs/c-runtime-library/argument-access.md
@@ -14,10 +14,10 @@ The **va_arg**, **va_end**, and **va_start** macros provide access to function a
|Macro|Use|
|-----------|-------------------------------|
-|[va_arg](../c-runtime-library/reference/va-arg-va-copy-va-end-va-start.md)|Retrieve argument from list|
-|[va_end](../c-runtime-library/reference/va-arg-va-copy-va-end-va-start.md)|Reset pointer|
-|[va_start](../c-runtime-library/reference/va-arg-va-copy-va-end-va-start.md)|Set pointer to beginning of argument list|
+|[va_arg](./reference/va-arg-va-copy-va-end-va-start.md)|Retrieve argument from list|
+|[va_end](./reference/va-arg-va-copy-va-end-va-start.md)|Reset pointer|
+|[va_start](./reference/va-arg-va-copy-va-end-va-start.md)|Set pointer to beginning of argument list|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/backward-compatibility.md b/docs/c-runtime-library/backward-compatibility.md
index 346253bc7bf..16e0a796c7a 100644
--- a/docs/c-runtime-library/backward-compatibility.md
+++ b/docs/c-runtime-library/backward-compatibility.md
@@ -6,7 +6,7 @@ ms.topic: "conceptual"
helpviewer_keywords: ["CRT, compatibility", "backward compatibility, C run-time libraries", "compatibility, C run-time libraries", "backward compatibility"]
ms.assetid: cc3175cf-97fd-492f-b329-5791aea63090
---
-# Backward Compatibility
+# Backward compatibility
For compatibility between product versions, the library OLDNAMES.LIB maps old names to new names. For instance, `open` maps to `_open`. You must explicitly link with OLDNAMES.LIB only when you compile with the following combinations of command-line options:
@@ -14,8 +14,8 @@ For compatibility between product versions, the library OLDNAMES.LIB maps old na
- `/link` (linker-control), `/NOD` (no default-library search), and `/Ze`
-For more information about compiler command-line options, see [Compiler Reference](../build/reference/compiler-options.md).
+For more information about compiler command-line options, see [Compiler options](../build/reference/compiler-options.md).
## See also
-[Compatibility](../c-runtime-library/compatibility.md)
+[Compatibility](./compatibility.md)
diff --git a/docs/c-runtime-library/buffer-manipulation.md b/docs/c-runtime-library/buffer-manipulation.md
index fb2d1941a0d..8b75d38e6c7 100644
--- a/docs/c-runtime-library/buffer-manipulation.md
+++ b/docs/c-runtime-library/buffer-manipulation.md
@@ -13,17 +13,17 @@ Use these routines to work with areas of memory on a byte-by-byte basis.
|Routine|Use|
|-------------|---------|
-|[_memccpy](../c-runtime-library/reference/memccpy.md)|Copy characters from one buffer to another until given character or given number of characters has been copied|
-|[memchr, wmemchr](../c-runtime-library/reference/memchr-wmemchr.md)|Return pointer to first occurrence, within specified number of characters, of given character in buffer|
-|[memcmp, wmemcmp](../c-runtime-library/reference/memcmp-wmemcmp.md)|Compare specified number of characters from two buffers|
-|[memcpy, wmemcpy](../c-runtime-library/reference/memcpy-wmemcpy.md), [memcpy_s, wmemcpy_s](../c-runtime-library/reference/memcpy-s-wmemcpy-s.md)|Copy specified number of characters from one buffer to another|
-|[_memicmp, _memicmp_l](../c-runtime-library/reference/memicmp-memicmp-l.md)|Compare specified number of characters from two buffers without regard to case|
-|[memmove, wmemmove](../c-runtime-library/reference/memmove-wmemmove.md),[memmove_s, wmemmove_s](../c-runtime-library/reference/memmove-s-wmemmove-s.md)|Copy specified number of characters from one buffer to another|
-|[memset, wmemset](../c-runtime-library/reference/memset-wmemset.md)|Use given character to initialize specified number of bytes in the buffer|
-|[_swab](../c-runtime-library/reference/swab.md)|Swap bytes of data and store them at specified location|
+|[_memccpy](./reference/memccpy.md)|Copy characters from one buffer to another until given character or given number of characters has been copied|
+|[memchr, wmemchr](./reference/memchr-wmemchr.md)|Return pointer to first occurrence, within specified number of characters, of given character in buffer|
+|[memcmp, wmemcmp](./reference/memcmp-wmemcmp.md)|Compare specified number of characters from two buffers|
+|[memcpy, wmemcpy](./reference/memcpy-wmemcpy.md), [memcpy_s, wmemcpy_s](./reference/memcpy-s-wmemcpy-s.md)|Copy specified number of characters from one buffer to another|
+|[_memicmp, _memicmp_l](./reference/memicmp-memicmp-l.md)|Compare specified number of characters from two buffers without regard to case|
+|[memmove, wmemmove](./reference/memmove-wmemmove.md),[memmove_s, wmemmove_s](./reference/memmove-s-wmemmove-s.md)|Copy specified number of characters from one buffer to another|
+|[memset, wmemset](./reference/memset-wmemset.md)|Use given character to initialize specified number of bytes in the buffer|
+|[_swab](./reference/swab.md)|Swap bytes of data and store them at specified location|
When the source and target areas overlap, only **memmove** is guaranteed to copy the full source properly.
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/bufsiz.md b/docs/c-runtime-library/bufsiz.md
index d42cf2cf325..fac7e0ccd25 100644
--- a/docs/c-runtime-library/bufsiz.md
+++ b/docs/c-runtime-library/bufsiz.md
@@ -16,9 +16,9 @@ ms.assetid: 94ac04a3-d154-476b-bd89-eefbc7b949ae
## Remarks
-`BUFSIZ` is the required user-allocated buffer for the [setvbuf](../c-runtime-library/reference/setvbuf.md) routine.
+`BUFSIZ` is the required user-allocated buffer for the [setvbuf](./reference/setvbuf.md) routine.
## See also
-[Stream I/O](../c-runtime-library/stream-i-o.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[Stream I/O](./stream-i-o.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/byte-and-wide-streams.md b/docs/c-runtime-library/byte-and-wide-streams.md
index 16fcc7a605a..6e59ac7be8c 100644
--- a/docs/c-runtime-library/byte-and-wide-streams.md
+++ b/docs/c-runtime-library/byte-and-wide-streams.md
@@ -7,15 +7,15 @@ f1_keywords: ["Byte and Wide Streams"]
helpviewer_keywords: ["byte streams", "wide streams"]
ms.assetid: 61ef0587-4cbc-4eb8-aae5-4c298dbbc6f9
---
-# Byte and Wide Streams
+# Byte and wide streams
A byte stream treats a file as a sequence of bytes. Within the program, the stream is the identical sequence of bytes.
-By contrast, a wide stream treats a file as a sequence of generalized multibyte characters, which can have a broad range of encoding rules. (Text and binary files are still read and written as previously described.) Within the program, the stream looks like the corresponding sequence of wide characters. Conversions between the two representations occur within the Standard C Library. The conversion rules can, in principle, be altered by a call to [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md) that alters the category `LC_CTYPE`. Each wide stream determines its conversion rules at the time it becomes wide oriented, and retains these rules even if the category `LC_CTYPE` later changes.
+By contrast, a wide stream treats a file as a sequence of generalized multibyte characters, which can have a broad range of encoding rules. (Text and binary files are still read and written as previously described.) Within the program, the stream looks like the corresponding sequence of wide characters. Conversions between the two representations occur within the Standard C Library. The conversion rules can, in principle, be altered by a call to [`setlocale`](./reference/setlocale-wsetlocale.md) that alters the category `LC_CTYPE`. Each wide stream determines its conversion rules at the time it becomes wide oriented, and retains these rules even if the category `LC_CTYPE` later changes.
-Positioning within a wide stream suffers the same limitations as for text steams. Moreover, the file-position indicator may well have to deal with a state-dependent encoding. Typically, it includes both a byte offset within the stream and an object of type `mbstate_t`. Thus, the only reliable way to obtain a file position within a wide stream is by calling [`fgetpos`](../c-runtime-library/reference/fgetpos.md), and the only reliable way to restore a position obtained this way is by calling [`fsetpos`](../c-runtime-library/reference/fsetpos.md).
+Positioning within a wide stream suffers the same limitations as for text steams. Moreover, the file-position indicator may well have to deal with a state-dependent encoding. Typically, it includes both a byte offset within the stream and an object of type `mbstate_t`. Thus, the only reliable way to obtain a file position within a wide stream is by calling [`fgetpos`](./reference/fgetpos.md), and the only reliable way to restore a position obtained this way is by calling [`fsetpos`](./reference/fsetpos.md).
## See also
-[Files and Streams](../c-runtime-library/files-and-streams.md)
-[`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md)
+[Files and streams](./files-and-streams.md)\
+[`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md)
diff --git a/docs/c-runtime-library/byte-classification.md b/docs/c-runtime-library/byte-classification.md
index 363e06bc7b6..46fd6bbbac1 100644
--- a/docs/c-runtime-library/byte-classification.md
+++ b/docs/c-runtime-library/byte-classification.md
@@ -8,7 +8,7 @@ ms.assetid: 1cb52d71-fb0c-46ca-aad7-6472c1103370
---
# Byte classification
-Each of these routines tests a specified byte of a multibyte character for satisfaction of a condition. Except where specified otherwise, the output value is affected by the setting of the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions without the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead.
+Each of these routines tests a specified byte of a multibyte character for satisfaction of a condition. Except where specified otherwise, the output value is affected by the setting of the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](./reference/setlocale-wsetlocale.md). The versions of these functions without the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead.
> [!NOTE]
> By definition, the ASCII characters between 0 and 127 are a subset of all multibyte-character sets. For example, the Japanese katakana character set includes ASCII as well as non-ASCII characters.
@@ -19,26 +19,26 @@ The predefined constants in the following table are defined in ``.
| Routine | Byte Test Condition |
|--|--|
-| [`isleadbyte`, `_isleadbyte_l`](../c-runtime-library/reference/isleadbyte-isleadbyte-l.md) | Lead byte; test result depends on `LC_CTYPE` category setting of current locale |
-| [`_ismbbalnum`, `_ismbbalnum_l`](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md) | `isalnum || _ismbbkalnum` |
-| [`_ismbbalpha`, `_ismbbalpha_l`](../c-runtime-library/reference/ismbbalpha-ismbbalpha-l.md) | `isalpha || _ismbbkalpha` |
-| [`_ismbbgraph`, `_ismbbgraph_l`](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md) | Same as `_ismbbprint`, but `_ismbbgraph` doesn't include the space character (0x20) |
-| [`_ismbbkalnum`, `_ismbbkalnum_l`](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md) | Non-ASCII text symbol other than punctuation. For example, in code page 932 only, `_ismbbkalnum` tests for katakana alphanumeric |
-| [`_ismbbkana`, `_ismbbkana_l`](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md) | Katakana (0xA1 - 0xDF), code page 932 only |
-| [`_ismbbkprint`, `_ismbbkprint_l`](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md) | Non-ASCII text or non-ASCII punctuation symbol. For example, in code page 932 only, `_ismbbkprint` tests for katakana alphanumeric or katakana punctuation (range: 0xA1 - 0xDF). |
-| [`_ismbbkpunct`, `_ismbbkpunct_l`](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md) | Non-ASCII punctuation. For example, in code page 932 only, `_ismbbkpunct` tests for katakana punctuation. |
-| [`_ismbblead`, `_ismbblead_l`](../c-runtime-library/reference/ismbblead-ismbblead-l.md) | First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 - 0x9F, 0xE0 - 0xFC. |
-| [`_ismbbprint`, `_ismbbprint_l`](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md) | `isprint || _ismbbkprint`. `ismbbprint` includes the space character (0x20) |
-| [`_ismbbpunct`, `_ismbbpunct_l`](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md) | `ispunct || _ismbbkpunct` |
-| [`_ismbbtrail`, `_ismbbtrail_l`](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md) | Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 - 0x7E, 0x80 - 0xEC. |
-| [`_ismbslead`, `_ismbslead_l`](../c-runtime-library/reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md) | Lead byte (in string context) |
-| [`ismbstrail`, `_ismbstrail_l`](../c-runtime-library/reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md) | Trail byte (in string context) |
-| [`_mbbtype`, `_mbbtype_l`](../c-runtime-library/reference/mbbtype-mbbtype-l.md) | Return byte type based on previous byte |
-| [`_mbsbtype`, `_mbsbtype_l`](../c-runtime-library/reference/mbsbtype-mbsbtype-l.md) | Return type of byte within string |
-| [`mbsinit`](../c-runtime-library/reference/mbsinit.md) | Tracks the state of a multibyte character conversion. |
+| [`isleadbyte`, `_isleadbyte_l`](./reference/isleadbyte-isleadbyte-l.md) | Lead byte; test result depends on `LC_CTYPE` category setting of current locale |
+| [`_ismbbalnum`, `_ismbbalnum_l`](./reference/ismbbalnum-ismbbalnum-l.md) | `isalnum || _ismbbkalnum` |
+| [`_ismbbalpha`, `_ismbbalpha_l`](./reference/ismbbalpha-ismbbalpha-l.md) | `isalpha || _ismbbkalpha` |
+| [`_ismbbgraph`, `_ismbbgraph_l`](./reference/ismbbgraph-ismbbgraph-l.md) | Same as `_ismbbprint`, but `_ismbbgraph` doesn't include the space character (0x20) |
+| [`_ismbbkalnum`, `_ismbbkalnum_l`](./reference/ismbbkalnum-ismbbkalnum-l.md) | Non-ASCII text symbol other than punctuation. For example, in code page 932 only, `_ismbbkalnum` tests for katakana alphanumeric |
+| [`_ismbbkana`, `_ismbbkana_l`](./reference/ismbbkana-ismbbkana-l.md) | Katakana (0xA1 - 0xDF), code page 932 only |
+| [`_ismbbkprint`, `_ismbbkprint_l`](./reference/ismbbkprint-ismbbkprint-l.md) | Non-ASCII text or non-ASCII punctuation symbol. For example, in code page 932 only, `_ismbbkprint` tests for katakana alphanumeric or katakana punctuation (range: 0xA1 - 0xDF). |
+| [`_ismbbkpunct`, `_ismbbkpunct_l`](./reference/ismbbkpunct-ismbbkpunct-l.md) | Non-ASCII punctuation. For example, in code page 932 only, `_ismbbkpunct` tests for katakana punctuation. |
+| [`_ismbblead`, `_ismbblead_l`](./reference/ismbblead-ismbblead-l.md) | First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 - 0x9F, 0xE0 - 0xFC. |
+| [`_ismbbprint`, `_ismbbprint_l`](./reference/ismbbprint-ismbbprint-l.md) | `isprint || _ismbbkprint`. `ismbbprint` includes the space character (0x20) |
+| [`_ismbbpunct`, `_ismbbpunct_l`](./reference/ismbbpunct-ismbbpunct-l.md) | `ispunct || _ismbbkpunct` |
+| [`_ismbbtrail`, `_ismbbtrail_l`](./reference/ismbbtrail-ismbbtrail-l.md) | Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 - 0x7E, 0x80 - 0xEC. |
+| [`_ismbslead`, `_ismbslead_l`](./reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md) | Lead byte (in string context) |
+| [`ismbstrail`, `_ismbstrail_l`](./reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md) | Trail byte (in string context) |
+| [`_mbbtype`, `_mbbtype_l`](./reference/mbbtype-mbbtype-l.md) | Return byte type based on previous byte |
+| [`_mbsbtype`, `_mbsbtype_l`](./reference/mbsbtype-mbsbtype-l.md) | Return type of byte within string |
+| [`mbsinit`](./reference/mbsinit.md) | Tracks the state of a multibyte character conversion. |
The `MB_LEN_MAX` macro, defined in ``, expands to the maximum length in bytes that any multibyte character can have. `MB_CUR_MAX`, defined in ``, expands to the maximum length in bytes of any multibyte character in the current locale.
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/c-run-time-library-reference.md b/docs/c-runtime-library/c-run-time-library-reference.md
index a5c5a3457c2..192b1df77e6 100644
--- a/docs/c-runtime-library/c-run-time-library-reference.md
+++ b/docs/c-runtime-library/c-run-time-library-reference.md
@@ -11,7 +11,7 @@ The Microsoft runtime library provides routines for programming the Microsoft Wi
Sample programs are included in the individual reference articles for most routines in the library.
-## In This Section
+## In this section
[Universal C runtime routines by category](run-time-routines-by-category.md)\
Provides links to the runtime library by category.
@@ -40,7 +40,7 @@ Describes how to use the `setlocale` function to set the language and Country/Re
[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](crt-library-features.md)\
List of `.lib` files that make up the C runtime libraries and their associated compiler options and preprocessor directives.
-## Related Sections
+## Related sections
[Debug routines](debug-routines.md)\
Provides links to the debug versions of the runtime library routines.
diff --git a/docs/c-runtime-library/cgets-cgetws.md b/docs/c-runtime-library/cgets-cgetws.md
index ae2a349fe00..a75d7812a9d 100644
--- a/docs/c-runtime-library/cgets-cgetws.md
+++ b/docs/c-runtime-library/cgets-cgetws.md
@@ -12,10 +12,10 @@ ms.assetid: 4d5e134a-58c3-4f62-befd-5d235b0212f4
---
# _cgets, _cgetws
-Gets a character string from the console. More secure versions of these functions are available; see [_cgets_s, _cgetws_s](../c-runtime-library/reference/cgets-s-cgetws-s.md).
+Gets a character string from the console. More secure versions of these functions are available; see [_cgets_s, _cgetws_s](./reference/cgets-s-cgetws-s.md).
> [!IMPORTANT]
-> These functions are obsolete. Beginning in Visual Studio 2015, they are not available in the CRT. The secure versions of these functions, _cgets_s and _cgetws_s, are still available. For information on these alternative functions, see [_cgets_s, _cgetws_s](../c-runtime-library/reference/cgets-s-cgetws-s.md).
+> These functions are obsolete. Beginning in Visual Studio 2015, they are not available in the CRT. The secure versions of these functions, _cgets_s and _cgetws_s, are still available. For information on these alternative functions, see [_cgets_s, _cgetws_s](./reference/cgets-s-cgetws-s.md).
> [!IMPORTANT]
> This API cannot be used in applications that execute in the Windows Runtime. For more information, see [CRT functions not supported in Universal Windows Platform apps](../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
@@ -44,9 +44,9 @@ wchar_t *_cgetws(
*buffer*
Storage location for data.
-## Return Value
+## Return value
-`_cgets` and `_cgetws` return a pointer to the start of the string, at `buffer[2]`. If `buffer` is **NULL**, these functions invoke the invalid parameter handler, as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). If execution is allowed to continue, they return **NULL** and set `errno` to `EINVAL`.
+`_cgets` and `_cgetws` return a pointer to the start of the string, at `buffer[2]`. If `buffer` is **NULL**, these functions invoke the invalid parameter handler, as described in [Parameter validation](./parameter-validation.md). If execution is allowed to continue, they return **NULL** and set `errno` to `EINVAL`.
## Remarks
@@ -54,11 +54,11 @@ These functions read a string of characters from the console and store the strin
Because all editing keys are active when `_cgets` or `_cgetws` is called while in a console window, pressing the F3 key repeats the last entered entry.
-In C++, these functions have template overloads that invoke the newer, secure counterparts of these functions. For more information, see [Secure Template Overloads](../c-runtime-library/secure-template-overloads.md).
+In C++, these functions have template overloads that invoke the newer, secure counterparts of these functions. For more information, see [Secure template overloads](./secure-template-overloads.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -71,7 +71,7 @@ By default, this function's global state is scoped to the application. To change
|`_cgets`|\|
|`_cgetws`|\ or \|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](./compatibility.md).
## Example
@@ -119,5 +119,5 @@ Text = A line of input.
## See also
-[Console and Port I/O](../c-runtime-library/console-and-port-i-o.md)
-[`_getch`, `_getwch`](../c-runtime-library/reference/getch-getwch.md)
+[Console and port I/O](./console-and-port-i-o.md)\
+[`_getch`, `_getwch`](./reference/getch-getwch.md)
diff --git a/docs/c-runtime-library/character-classification.md b/docs/c-runtime-library/character-classification.md
index 1c413749357..49d284b0c8d 100644
--- a/docs/c-runtime-library/character-classification.md
+++ b/docs/c-runtime-library/character-classification.md
@@ -6,11 +6,11 @@ f1_keywords: ["c.types.character"]
helpviewer_keywords: ["character classification routines", "characters, testing"]
ms.assetid: 3b6c8f0b-9701-407a-b384-9086698773f5
---
-# Character Classification
+# Character classification
Each of these routines tests a specified single-byte character, wide character, or multibyte character for satisfaction of a condition. (By definition, the ASCII character set between 0 and 127 are a subset of all multibyte-character sets. For example, Japanese katakana includes both ASCII and non-ASCII characters.)
-The test conditions are affected by the setting of the **LC_CTYPE** category setting of the locale. For more information, see [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior; the versions with the **_l** suffix are identical except that they use the locale parameter passed in instead.
+The test conditions are affected by the setting of the **LC_CTYPE** category setting of the locale. For more information, see [`setlocale`](./reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior; the versions with the **_l** suffix are identical except that they use the locale parameter passed in instead.
Generally these routines execute faster than tests you might write and should be favored over. For example, the following code executes slower than a call to `isalpha(c)`:
@@ -19,36 +19,36 @@ if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
return TRUE;
```
-## Character-Classification Routines
+## Character-classification routines
|Routine|Character test condition|
|-------------|------------------------------|
-|[isalnum, iswalnum, _isalnum_l, _iswalnum_l](../c-runtime-library/reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Alphanumeric|
-|[_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Multibyte alphanumeric|
-|[isalpha, iswalpha, _isalpha_l, _iswalpha_l](../c-runtime-library/reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Alphabetic|
-|[isascii, __isascii, iswascii](../c-runtime-library/reference/isascii-isascii-iswascii.md)|ASCII|
-|[isblank, iswblank, _isblank_l, _iswblank_l](../c-runtime-library/reference/isblank-iswblank-isblank-l-iswblank-l.md), [_ismbcsblank, _ismbcsblank_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Blank (space or horizontal tab)|
-|[iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](../c-runtime-library/reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)|Control|
-|[iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](../c-runtime-library/reference/iscsym-functions.md)|Letter, underscore, or digit|
-|[iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](../c-runtime-library/reference/iscsym-functions.md)|Letter or underscore|
-|[isdigit, iswdigit, _isdigit_l, _iswdigit_l](../c-runtime-library/reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Decimal digit|
-|[isgraph, iswgraph, _isgraph_l, _iswgraph_l](../c-runtime-library/reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Printable other than space|
-|[islower, iswlower, _islower_l, _iswlower_l](../c-runtime-library/reference/islower-iswlower-islower-l-iswlower-l.md), [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Lowercase|
-|[_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Hiragana|
-|[_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Katakana|
-|[_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Legal multibyte character|
-|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 0 multibyte character|
-|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 1 multibyte character|
-|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 2 multibyte character|
-|[_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Non-alphanumeric multibyte character|
-|[isprint, iswprint, _isprint_l, _iswprint_l](../c-runtime-library/reference/isprint-iswprint-isprint-l-iswprint-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Printable|
-|[ispunct, iswpunct, _ispunct_l, _iswpunct_l](../c-runtime-library/reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Punctuation|
-|[isspace, iswspace, _isspace_l, _iswspace_l](../c-runtime-library/reference/isspace-iswspace-isspace-l-iswspace-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|White-space|
-|[isupper, iswupper](../c-runtime-library/reference/isupper-isupper-l-iswupper-iswupper-l.md), [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Uppercase|
-|[_isctype, iswctype, _isctype_l, _iswctype_l](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)|Property specified by *desc* argument|
-|[isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](../c-runtime-library/reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)|Hexadecimal digit|
-|[_mbclen, mblen, _mblen_l](../c-runtime-library/reference/mbclen-mblen-mblen-l.md)|Return length of valid multibyte character; result depends on **LC_CTYPE** category setting of current locale|
+|[isalnum, iswalnum, _isalnum_l, _iswalnum_l](./reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)|Alphanumeric|
+|[_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)|Multibyte alphanumeric|
+|[isalpha, iswalpha, _isalpha_l, _iswalpha_l](./reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)|Alphabetic|
+|[isascii, __isascii, iswascii](./reference/isascii-isascii-iswascii.md)|ASCII|
+|[isblank, iswblank, _isblank_l, _iswblank_l](./reference/isblank-iswblank-isblank-l-iswblank-l.md), [_ismbcsblank, _ismbcsblank_l](./reference/ismbcgraph-functions.md)|Blank (space or horizontal tab)|
+|[iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](./reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)|Control|
+|[iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](./reference/iscsym-functions.md)|Letter, underscore, or digit|
+|[iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](./reference/iscsym-functions.md)|Letter or underscore|
+|[isdigit, iswdigit, _isdigit_l, _iswdigit_l](./reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md), [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)|Decimal digit|
+|[isgraph, iswgraph, _isgraph_l, _iswgraph_l](./reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)|Printable other than space|
+|[islower, iswlower, _islower_l, _iswlower_l](./reference/islower-iswlower-islower-l-iswlower-l.md), [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](./reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Lowercase|
+|[_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](./reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Hiragana|
+|[_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](./reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Katakana|
+|[_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](./reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Legal multibyte character|
+|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 0 multibyte character|
+|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 1 multibyte character|
+|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|Japan-level 2 multibyte character|
+|[_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](./reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Non-alphanumeric multibyte character|
+|[isprint, iswprint, _isprint_l, _iswprint_l](./reference/isprint-iswprint-isprint-l-iswprint-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)|Printable|
+|[ispunct, iswpunct, _ispunct_l, _iswpunct_l](./reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)|Punctuation|
+|[isspace, iswspace, _isspace_l, _iswspace_l](./reference/isspace-iswspace-isspace-l-iswspace-l.md), [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)|White-space|
+|[isupper, iswupper](./reference/isupper-isupper-l-iswupper-iswupper-l.md), [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](./reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Uppercase|
+|[_isctype, iswctype, _isctype_l, _iswctype_l](./reference/isctype-iswctype-isctype-l-iswctype-l.md)|Property specified by *desc* argument|
+|[isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](./reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)|Hexadecimal digit|
+|[_mbclen, mblen, _mblen_l](./reference/mbclen-mblen-mblen-l.md)|Return length of valid multibyte character; result depends on **LC_CTYPE** category setting of current locale|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/ciatan.md b/docs/c-runtime-library/ciatan.md
index 510cc211eae..ed55f52c53d 100644
--- a/docs/c-runtime-library/ciatan.md
+++ b/docs/c-runtime-library/ciatan.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](./reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)
diff --git a/docs/c-runtime-library/ciatan2.md b/docs/c-runtime-library/ciatan2.md
index 4ea285d90ee..c594cbcd620 100644
--- a/docs/c-runtime-library/ciatan2.md
+++ b/docs/c-runtime-library/ciatan2.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](./reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)
diff --git a/docs/c-runtime-library/cicos.md b/docs/c-runtime-library/cicos.md
index b084f5b4151..20b69fef117 100644
--- a/docs/c-runtime-library/cicos.md
+++ b/docs/c-runtime-library/cicos.md
@@ -22,7 +22,7 @@ void __cdecl _CIcos();
## Remarks
-This version of the [`cos`](../c-runtime-library/reference/cos-cosf-cosl.md) function has a specialized calling convention that the compiler understands. It speeds up the execution because it prevents copies from being generated and helps with register allocation.
+This version of the [`cos`](./reference/cos-cosf-cosl.md) function has a specialized calling convention that the compiler understands. It speeds up the execution because it prevents copies from being generated and helps with register allocation.
The resulting value is pushed onto the top of the floating-point stack.
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`cos`, `cosf`, `cosl`](../c-runtime-library/reference/cos-cosf-cosl.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`cos`, `cosf`, `cosl`](./reference/cos-cosf-cosl.md)
diff --git a/docs/c-runtime-library/ciexp.md b/docs/c-runtime-library/ciexp.md
index 745aadd8143..2099c9be580 100644
--- a/docs/c-runtime-library/ciexp.md
+++ b/docs/c-runtime-library/ciexp.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`exp`, `expf`, `expl`](../c-runtime-library/reference/exp-expf.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`exp`, `expf`, `expl`](./reference/exp-expf.md)
diff --git a/docs/c-runtime-library/cifmod.md b/docs/c-runtime-library/cifmod.md
index 957823e3308..b5c6d2630a8 100644
--- a/docs/c-runtime-library/cifmod.md
+++ b/docs/c-runtime-library/cifmod.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`fmod`, `fmodf`](../c-runtime-library/reference/fmod-fmodf.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`fmod`, `fmodf`](./reference/fmod-fmodf.md)
diff --git a/docs/c-runtime-library/cilog.md b/docs/c-runtime-library/cilog.md
index 2733244cf8d..d54ffcc5263 100644
--- a/docs/c-runtime-library/cilog.md
+++ b/docs/c-runtime-library/cilog.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`log`, `logf`, `log10`, `log10f`](../c-runtime-library/reference/log-logf-log10-log10f.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`log`, `logf`, `log10`, `log10f`](./reference/log-logf-log10-log10f.md)
diff --git a/docs/c-runtime-library/cilog10.md b/docs/c-runtime-library/cilog10.md
index 3d2ee6c2102..72f74f93a90 100644
--- a/docs/c-runtime-library/cilog10.md
+++ b/docs/c-runtime-library/cilog10.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`log`, `logf`, `log10`, `log10f`](../c-runtime-library/reference/log-logf-log10-log10f.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`log`, `logf`, `log10`, `log10f`](./reference/log-logf-log10-log10f.md)
diff --git a/docs/c-runtime-library/cipow.md b/docs/c-runtime-library/cipow.md
index 2a920100317..c0b92a57906 100644
--- a/docs/c-runtime-library/cipow.md
+++ b/docs/c-runtime-library/cipow.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`pow`, `powf`, `powl`](../c-runtime-library/reference/pow-powf-powl.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`pow`, `powf`, `powl`](./reference/pow-powf-powl.md)
diff --git a/docs/c-runtime-library/cisin.md b/docs/c-runtime-library/cisin.md
index 75bad56f0dd..ca4f3308170 100644
--- a/docs/c-runtime-library/cisin.md
+++ b/docs/c-runtime-library/cisin.md
@@ -22,7 +22,7 @@ void __cdecl _CIsin();
## Remarks
-This intrinsic version of the [`sin`](../c-runtime-library/reference/sin-sinf-sinl.md) function has a specialized calling convention that the compiler understands. It speeds up the execution because it prevents copies from being generated and helps with register allocation.
+This intrinsic version of the [`sin`](./reference/sin-sinf-sinl.md) function has a specialized calling convention that the compiler understands. It speeds up the execution because it prevents copies from being generated and helps with register allocation.
The resulting value is pushed onto the top of the floating-point stack.
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`sin`, `sinf`, `sinl`](../c-runtime-library/reference/sin-sinf-sinl.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`sin`, `sinf`, `sinl`](./reference/sin-sinf-sinl.md)
diff --git a/docs/c-runtime-library/cisqrt.md b/docs/c-runtime-library/cisqrt.md
index 83bec81cdff..281252725b7 100644
--- a/docs/c-runtime-library/cisqrt.md
+++ b/docs/c-runtime-library/cisqrt.md
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`sqrt`, `sqrtf`, `sqrtl`](../c-runtime-library/reference/sqrt-sqrtf-sqrtl.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`sqrt`, `sqrtf`, `sqrtl`](./reference/sqrt-sqrtf-sqrtl.md)
diff --git a/docs/c-runtime-library/citan.md b/docs/c-runtime-library/citan.md
index 2573834ee7b..2e32dfd40d3 100644
--- a/docs/c-runtime-library/citan.md
+++ b/docs/c-runtime-library/citan.md
@@ -22,7 +22,7 @@ void __cdecl _CItan();
## Remarks
-This version of the [`tan`](../c-runtime-library/reference/tan-tanf-tanl.md) function has a specialized calling convention that the compiler understands. The function speeds up the execution because it prevents copies from being generated and helps with register allocation.
+This version of the [`tan`](./reference/tan-tanf-tanl.md) function has a specialized calling convention that the compiler understands. The function speeds up the execution because it prevents copies from being generated and helps with register allocation.
The resulting value is pushed onto the top of the floating-point stack.
@@ -34,5 +34,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[`tan`, `tanf`, `tanl`](../c-runtime-library/reference/tan-tanf-tanl.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[`tan`, `tanf`, `tanl`](./reference/tan-tanf-tanl.md)
diff --git a/docs/c-runtime-library/clocks-per-sec-clk-tck.md b/docs/c-runtime-library/clocks-per-sec-clk-tck.md
index 4c16e39eb3d..d0538fb57c5 100644
--- a/docs/c-runtime-library/clocks-per-sec-clk-tck.md
+++ b/docs/c-runtime-library/clocks-per-sec-clk-tck.md
@@ -20,5 +20,5 @@ The time in seconds is the value returned by the `clock` function, divided by `C
## See also
-[clock](../c-runtime-library/reference/clock.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[clock](./reference/clock.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/code-pages.md b/docs/c-runtime-library/code-pages.md
index 4d738ad9378..0f7aafff924 100644
--- a/docs/c-runtime-library/code-pages.md
+++ b/docs/c-runtime-library/code-pages.md
@@ -6,7 +6,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["character sets [C++], code pages", "ANSI [C++], code pages", "system-default code page", "multibyte code pages [C++]", "localization [C++], code pages", "code pages [C++], types of", "locale code pages [C++]"]
ms.assetid: 4a26fc42-185a-4add-98bf-a7b314ae6186
---
-# Code Pages
+# Code pages
A *code page* is a character set, which can include numbers, punctuation marks, and other glyphs. Different languages and locales may use different code pages. For example, ANSI code page 1252 is used for English and most European languages; OEM code page 932 is used for Japanese Kanji.
@@ -22,13 +22,13 @@ The Microsoft runtime library uses the following types of code pages:
also sets the locale to the system-default ANSI code page.
-- Locale code page. The behavior of several run-time routines is dependent on the current locale setting, which includes the locale code page. (For more information, see [Locale-Dependent Routines](../c-runtime-library/locale.md).) By default, all locale-dependent routines in the Microsoft run-time library use the code page that corresponds to the "C" locale. At run time, you can change or query the locale code page in use with a call to [setlocale](../c-runtime-library/reference/setlocale-wsetlocale.md).
+- Locale code page. The behavior of several run-time routines is dependent on the current locale setting, which includes the locale code page. (For more information, see [Locale](./locale.md).) By default, all locale-dependent routines in the Microsoft run-time library use the code page that corresponds to the "C" locale. At run time, you can change or query the locale code page in use with a call to [setlocale](./reference/setlocale-wsetlocale.md).
-- Multibyte code page. The behavior of most of the multibyte-character routines in the run-time library depends on the current multibyte code page setting. By default, these routines use the system-default ANSI code page. At run-time you can query and change the multibyte code page with [_getmbcp](../c-runtime-library/reference/getmbcp.md) and [_setmbcp](../c-runtime-library/reference/setmbcp.md), respectively.
+- Multibyte code page. The behavior of most of the multibyte-character routines in the run-time library depends on the current multibyte code page setting. By default, these routines use the system-default ANSI code page. At run-time you can query and change the multibyte code page with [_getmbcp](./reference/getmbcp.md) and [_setmbcp](./reference/setmbcp.md), respectively.
- The "C" locale is defined by ANSI to correspond to the locale in which C programs have traditionally executed. The code page for the "C" locale ("C" code page) corresponds to the ASCII character set. For example, in the "C" locale, **islower** returns true for the values 0x61 - 0x7A only. In another locale, **islower** may return `true` for these and other values, as defined by that locale.
## See also
-[Internationalization](../c-runtime-library/internationalization.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Internationalization](./internationalization.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/commit-to-disk-constants.md b/docs/c-runtime-library/commit-to-disk-constants.md
index 5ab2a097bcc..7a1d611a014 100644
--- a/docs/c-runtime-library/commit-to-disk-constants.md
+++ b/docs/c-runtime-library/commit-to-disk-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["vc.constants"]
helpviewer_keywords: ["commit-to-disk constants"]
ms.assetid: 0b903b23-b4fa-431e-a937-51d95f695ecf
---
-# Commit-To-Disk Constants
+# Commit-to-disk constants
**Microsoft Specific**
@@ -24,7 +24,7 @@ The commit-to-disk modes are as follows:
- **c**
- Writes the unwritten contents of the specified buffer to disk. This commit-to-disk functionality only occurs at explicit calls to either the [fflush](../c-runtime-library/reference/fflush.md) or the [_flushall](../c-runtime-library/reference/flushall.md) function. This mode is useful when dealing with sensitive data. For example, if your program terminates after a call to `fflush` or `_flushall`, you can be sure that your data reached the operating system's buffers. However, unless a file is opened with the **c** option, the data might never make it to disk if the operating system also terminates.
+ Writes the unwritten contents of the specified buffer to disk. This commit-to-disk functionality only occurs at explicit calls to either the [fflush](./reference/fflush.md) or the [_flushall](./reference/flushall.md) function. This mode is useful when dealing with sensitive data. For example, if your program terminates after a call to `fflush` or `_flushall`, you can be sure that your data reached the operating system's buffers. However, unless a file is opened with the **c** option, the data might never make it to disk if the operating system also terminates.
- **n**
@@ -33,9 +33,9 @@ The commit-to-disk modes are as follows:
> [!NOTE]
> The **c** and **n** options are not part of the ANSI standard for `fopen`, but are Microsoft extensions and should not be used where ANSI portability is desired.
-## Using the Commit-to-Disk Feature with Existing Code
+## Using the commit-to-disk feature with existing code
-By default, calls to the [fflush](../c-runtime-library/reference/fflush.md) or [_flushall](../c-runtime-library/reference/flushall.md) library functions write data to buffers maintained by the operating system. The operating system determines the optimal time to actually write the data to disk. The commit-to-disk feature of the run-time library lets you ensure that critical data is written directly to disk rather than to the operating system's buffers. You can give this capability to an existing program without rewriting it by linking its object files with COMMODE.OBJ.
+By default, calls to the [fflush](./reference/fflush.md) or [_flushall](./reference/flushall.md) library functions write data to buffers maintained by the operating system. The operating system determines the optimal time to actually write the data to disk. The commit-to-disk feature of the run-time library lets you ensure that critical data is written directly to disk rather than to the operating system's buffers. You can give this capability to an existing program without rewriting it by linking its object files with COMMODE.OBJ.
In the resulting executable file, calls to `fflush` write the contents of the buffer directly to disk, and calls to `_flushall` write the contents of all buffers to disk. These two functions are the only ones affected by COMMODE.OBJ.
@@ -43,7 +43,7 @@ In the resulting executable file, calls to `fflush` write the contents of the bu
## See also
-[Stream I/O](../c-runtime-library/stream-i-o.md)
-[_fdopen, _wfdopen](../c-runtime-library/reference/fdopen-wfdopen.md)
-[fopen, _wfopen](../c-runtime-library/reference/fopen-wfopen.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[Stream I/O](./stream-i-o.md)\
+[_fdopen, _wfdopen](./reference/fdopen-wfdopen.md)\
+[fopen, _wfopen](./reference/fopen-wfopen.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/compatibility.md b/docs/c-runtime-library/compatibility.md
index 8e0f21a211a..0bd8cc1b7e0 100644
--- a/docs/c-runtime-library/compatibility.md
+++ b/docs/c-runtime-library/compatibility.md
@@ -22,17 +22,17 @@ Functions specific to the Microsoft implementation of Visual C++ are found in th
The C++ standard reserves names that begin with an underscore in the global namespace to the implementation. Both the POSIX functions and Microsoft-specific runtime library functions are in the global namespace, but aren't part of the standard C runtime library. It's why the preferred Microsoft implementations of these functions have a leading underscore. For portability, the UCRT also supports the default names, but the Microsoft C++ compiler issues a deprecation warning when code that uses them is compiled. Only the default names are deprecated, not the functions themselves. To suppress the warning, define `_CRT_NONSTDC_NO_WARNINGS` before including any headers in code that uses the original POSIX names. Because the C standard doesn't allow non-standard names in header files, by default [`/std:c11`](../build/reference/std-specify-language-standard-version.md) and [`/std:c17`](../build/reference/std-specify-language-standard-version.md) don't expose the default names for POSIX functions, types, and macros. If these names are necessary, define `_CRT_DECLARE_NONSTDC_NAMES` to expose them.
-Certain functions in the standard C library have a history of unsafe usage, because of misused parameters and unchecked buffers. These functions are often the source of security issues in code. Microsoft created a set of safer versions of these functions that verify parameter usage. They invoke the invalid parameter handler when an issue is detected at runtime. By default, the Microsoft C++ compiler issues a deprecation warning when a function is used that has a safer variant available. When you compile your code as C++, you can define `_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES` as 1 to eliminate most warnings. This macro enables template overloads to call the safer variants while maintaining portable source code. To suppress the warning, define `_CRT_SECURE_NO_WARNINGS` before including any headers in code that uses these functions. For more information, see [Security Features in the CRT](../c-runtime-library/security-features-in-the-crt.md).
+Certain functions in the standard C library have a history of unsafe usage, because of misused parameters and unchecked buffers. These functions are often the source of security issues in code. Microsoft created a set of safer versions of these functions that verify parameter usage. They invoke the invalid parameter handler when an issue is detected at runtime. By default, the Microsoft C++ compiler issues a deprecation warning when a function is used that has a safer variant available. When you compile your code as C++, you can define `_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES` as 1 to eliminate most warnings. This macro enables template overloads to call the safer variants while maintaining portable source code. To suppress the warning, define `_CRT_SECURE_NO_WARNINGS` before including any headers in code that uses these functions. For more information, see [Security features in the CRT](./security-features-in-the-crt.md).
Except as noted within the documentation for specific functions, the UCRT is compatible with the Windows API. Certain functions aren't supported in Windows Store or Universal Windows Platform ([UWP](/uwp)) apps. These functions are listed in [CRT functions not supported in Universal Windows Platform apps](../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
-## Related Articles
+## Related articles
|Title|Description|
|-----------|-----------------|
-|[UWP Apps, the Windows Runtime, and the C runtime](../c-runtime-library/windows-store-apps-the-windows-runtime-and-the-c-run-time.md)|Describes when UCRT routines aren't compatible with Universal Windows apps or Microsoft Store apps.|
-|[ANSI C Conformance](../c-runtime-library/ansi-c-compliance.md)|Describes standard-conforming names in the UCRT.|
-|[UNIX](../c-runtime-library/unix.md)|Provides guidelines for porting programs to UNIX.|
-|[Windows Platforms (CRT)](../c-runtime-library/windows-platforms-crt.md)|Lists the operating systems that are the CRT supports.|
-|[Backward Compatibility](../c-runtime-library/backward-compatibility.md)|Describes how to map old CRT names to the new ones.|
-|[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)|Provides an overview of the CRT library (.lib) files and the associated compiler options.|
+|[UWP apps, the Windows Runtime, and the C runtime](./windows-store-apps-the-windows-runtime-and-the-c-run-time.md)|Describes when UCRT routines aren't compatible with Universal Windows apps or Microsoft Store apps.|
+|[ANSI C conformance](./ansi-c-compliance.md)|Describes standard-conforming names in the UCRT.|
+|[UNIX](./unix.md)|Provides guidelines for porting programs to UNIX.|
+|[Windows platforms (CRT)](./windows-platforms-crt.md)|Lists the operating systems that are the CRT supports.|
+|[Backward compatibility](./backward-compatibility.md)|Describes how to map old CRT names to the new ones.|
+|[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)|Provides an overview of the CRT library (.lib) files and the associated compiler options.|
diff --git a/docs/c-runtime-library/complex-math-support.md b/docs/c-runtime-library/complex-math-support.md
index ed2bd56c8b9..bd1ca4df1c9 100644
--- a/docs/c-runtime-library/complex-math-support.md
+++ b/docs/c-runtime-library/complex-math-support.md
@@ -23,7 +23,7 @@ The Microsoft implementation of the `complex.h` header defines these types as eq
|**`double complex`** or **`double _Complex`**|**`_Dcomplex`**|
|**`long double complex`** or **`long double _Complex`**|**`_Lcomplex`**|
-The `math.h` header defines a separate type, **`struct _complex`**, used for the [`_cabs`](../c-runtime-library/reference/cabs.md) function. The **`struct _complex`** type isn't used by the equivalent complex math functions [`cabs`, `cabsf`, `cabsl`](../c-runtime-library/reference/cabs-cabsf-cabsl.md).
+The `math.h` header defines a separate type, **`struct _complex`**, used for the [`_cabs`](./reference/cabs.md) function. The **`struct _complex`** type isn't used by the equivalent complex math functions [`cabs`, `cabsf`, `cabsl`](./reference/cabs-cabsf-cabsl.md).
## Complex constants and macros
@@ -33,51 +33,51 @@ The `math.h` header defines a separate type, **`struct _complex`**, used for the
|Function|Description|
|-|-|
-|[`cacos`, `cacosf`, `cacosl`](../c-runtime-library/reference/cacos-cacosf-cacosl.md)|Compute the complex arc cosine of a complex number|
-|[`casin`, `casinf`, `casinl`](../c-runtime-library/reference/casin-casinf-casinl.md)|Compute the complex arc sine of a complex number|
-|[`catan`, `catanf`, `catanl`](../c-runtime-library/reference/catan-catanf-catanl.md)|Compute the complex arc tangent of a complex number|
-|[`ccos`, `ccosf`, `ccosl`](../c-runtime-library/reference/ccos-ccosf-ccosl.md)|Compute the complex cosine of a complex number|
-|[`csin`, `csinf`, `csinl`](../c-runtime-library/reference/csin-csinf-csinl.md)|Compute the complex sine of a complex number|
-|[`ctan`, `ctanf`, `ctanl`](../c-runtime-library/reference/ctan-ctanf-ctanl.md)|Compute the complex tangent of a complex number|
+|[`cacos`, `cacosf`, `cacosl`](./reference/cacos-cacosf-cacosl.md)|Compute the complex arc cosine of a complex number|
+|[`casin`, `casinf`, `casinl`](./reference/casin-casinf-casinl.md)|Compute the complex arc sine of a complex number|
+|[`catan`, `catanf`, `catanl`](./reference/catan-catanf-catanl.md)|Compute the complex arc tangent of a complex number|
+|[`ccos`, `ccosf`, `ccosl`](./reference/ccos-ccosf-ccosl.md)|Compute the complex cosine of a complex number|
+|[`csin`, `csinf`, `csinl`](./reference/csin-csinf-csinl.md)|Compute the complex sine of a complex number|
+|[`ctan`, `ctanf`, `ctanl`](./reference/ctan-ctanf-ctanl.md)|Compute the complex tangent of a complex number|
## Hyperbolic functions
|Function|Description|
|-|-|
-|[`cacosh`, `cacoshf`, `cacoshl`](../c-runtime-library/reference/cacosh-cacoshf-cacoshl.md)|Compute the complex arc hyperbolic cosine of a complex number|
-|[`casinh`, `casinhf`, `casinhl`](../c-runtime-library/reference/casinh-casinhf-casinhl.md)|Compute the complex arc hyperbolic sine of a complex number|
-|[`catanh`, `catanhf`, `catanhl`](../c-runtime-library/reference/catanh-catanhf-catanhl.md)|Compute the complex arc hyperbolic tangent of a complex number|
-|[`ccosh`, `ccoshf`, `ccoshl`](../c-runtime-library/reference/ccosh-ccoshf-ccoshl.md)|Compute the complex hyperbolic cosine of a complex number|
-|[`csinh`, `csinhf`, `csinhl`](../c-runtime-library/reference/csinh-csinhf-csinhl.md)|Compute the complex hyperbolic sine of a complex number|
-|[`ctanh`, `ctanhf`, `ctanhl`](../c-runtime-library/reference/ctanh-ctanhf-ctanhl.md)|Compute the complex hyperbolic tangent of a complex number|
+|[`cacosh`, `cacoshf`, `cacoshl`](./reference/cacosh-cacoshf-cacoshl.md)|Compute the complex arc hyperbolic cosine of a complex number|
+|[`casinh`, `casinhf`, `casinhl`](./reference/casinh-casinhf-casinhl.md)|Compute the complex arc hyperbolic sine of a complex number|
+|[`catanh`, `catanhf`, `catanhl`](./reference/catanh-catanhf-catanhl.md)|Compute the complex arc hyperbolic tangent of a complex number|
+|[`ccosh`, `ccoshf`, `ccoshl`](./reference/ccosh-ccoshf-ccoshl.md)|Compute the complex hyperbolic cosine of a complex number|
+|[`csinh`, `csinhf`, `csinhl`](./reference/csinh-csinhf-csinhl.md)|Compute the complex hyperbolic sine of a complex number|
+|[`ctanh`, `ctanhf`, `ctanhl`](./reference/ctanh-ctanhf-ctanhl.md)|Compute the complex hyperbolic tangent of a complex number|
## Exponential and logarithmic functions
|Function|Description|
|-|-|
-|[`cexp`, `cexpf`, `cexpl`](../c-runtime-library/reference/cexp-cexpf-cexpl.md)|Compute the complex base-*e* exponential of a complex number|
-|[`clog`, `clogf`, `clogl`](../c-runtime-library/reference/clog-clogf-clogl.md)|Compute the complex natural (base-*e*) logarithm of a complex number|
-|[`clog10`, `clog10f`, `clog10l`](../c-runtime-library/reference/clog10-clog10f-clog10l.md)|Compute the complex base-10 logarithm of a complex number|
+|[`cexp`, `cexpf`, `cexpl`](./reference/cexp-cexpf-cexpl.md)|Compute the complex base-*e* exponential of a complex number|
+|[`clog`, `clogf`, `clogl`](./reference/clog-clogf-clogl.md)|Compute the complex natural (base-*e*) logarithm of a complex number|
+|[`clog10`, `clog10f`, `clog10l`](./reference/clog10-clog10f-clog10l.md)|Compute the complex base-10 logarithm of a complex number|
## Power and absolute-value functions
|Function|Description|
|-|-|
-|[`cabs`, `cabsf`, `cabsl`](../c-runtime-library/reference/cabs-cabsf-cabsl.md)|Compute the complex absolute value (also called the norm, modulus, or magnitude) of a complex number|
-|[`cpow`, `cpowf`, `cpowl`](../c-runtime-library/reference/cpow-cpowf-cpowl.md)|Compute the complex power function|
-|[`csqrt`, `csqrtf`, `csqrtl`](../c-runtime-library/reference/csqrt-csqrtf-csqrtl.md)|Compute the complex square root of a complex number|
+|[`cabs`, `cabsf`, `cabsl`](./reference/cabs-cabsf-cabsl.md)|Compute the complex absolute value (also called the norm, modulus, or magnitude) of a complex number|
+|[`cpow`, `cpowf`, `cpowl`](./reference/cpow-cpowf-cpowl.md)|Compute the complex power function|
+|[`csqrt`, `csqrtf`, `csqrtl`](./reference/csqrt-csqrtf-csqrtl.md)|Compute the complex square root of a complex number|
## Manipulation functions
|Function|Description|
|-|-|
-|[`_Cbuild`, `_FCbuild`, `_LCbuild`](../c-runtime-library/reference/cbuild-fcbuild-lcbuild.md)|Construct a complex number from real and imaginary parts|
-|[`carg`, `cargf`, `cargl`](../c-runtime-library/reference/carg-cargf-cargl.md)|Compute the argument (also called the phase angle) of a complex number|
-|[`cimag`, `cimagf`, `cimagl`](../c-runtime-library/reference/cimag-cimagf-cimagl.md)|Compute the imaginary part of a complex number|
-|[`conj`, `conjf`, `conjl`](../c-runtime-library/reference/conj-conjf-conjl.md)|Compute the complex conjugate of a complex number|
-|[`cproj`, `cprojf`, `cprojl`](../c-runtime-library/reference/cproj-cprojf-cprojl.md)|Compute a projection of a complex number onto the Riemann sphere|
-|[`creal`, `crealf`, `creall`](../c-runtime-library/reference/creal-crealf-creall.md)|Compute the real part of a complex number|
-|[`norm`, `normf`, `norml`](../c-runtime-library/reference/norm-normf-norml1.md)|Compute the squared magnitude of a complex number|
+|[`_Cbuild`, `_FCbuild`, `_LCbuild`](./reference/cbuild-fcbuild-lcbuild.md)|Construct a complex number from real and imaginary parts|
+|[`carg`, `cargf`, `cargl`](./reference/carg-cargf-cargl.md)|Compute the argument (also called the phase angle) of a complex number|
+|[`cimag`, `cimagf`, `cimagl`](./reference/cimag-cimagf-cimagl.md)|Compute the imaginary part of a complex number|
+|[`conj`, `conjf`, `conjl`](./reference/conj-conjf-conjl.md)|Compute the complex conjugate of a complex number|
+|[`cproj`, `cprojf`, `cprojl`](./reference/cproj-cprojf-cprojl.md)|Compute a projection of a complex number onto the Riemann sphere|
+|[`creal`, `crealf`, `creall`](./reference/creal-crealf-creall.md)|Compute the real part of a complex number|
+|[`norm`, `normf`, `norml`](./reference/norm-normf-norml1.md)|Compute the squared magnitude of a complex number|
## Operation functions
@@ -85,10 +85,10 @@ Because complex numbers aren't a native type in the Microsoft compiler, the stan
|Function|Description|
|-|-|
-|[`_Cmulcc`, `_FCmulcc`, `_LCmulcc`](../c-runtime-library/reference/cmulcc-fcmulcc-lcmulcc.md)|Multiply two complex numbers|
-|[`_Cmulcr`, `_FCmulcr`, `_LCmulcr`](../c-runtime-library/reference/cmulcr-fcmulcr-lcmulcr.md)|Multiply a complex and a floating-point number|
+|[`_Cmulcc`, `_FCmulcc`, `_LCmulcc`](./reference/cmulcc-fcmulcc-lcmulcc.md)|Multiply two complex numbers|
+|[`_Cmulcr`, `_FCmulcr`, `_LCmulcr`](./reference/cmulcr-fcmulcr-lcmulcr.md)|Multiply a complex and a floating-point number|
## See also
[Type-generic math](tgmath.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/console-and-port-i-o.md b/docs/c-runtime-library/console-and-port-i-o.md
index 5efcc295b2e..5dd04351feb 100644
--- a/docs/c-runtime-library/console-and-port-i-o.md
+++ b/docs/c-runtime-library/console-and-port-i-o.md
@@ -4,31 +4,31 @@ title: "Console and Port I/O"
ms.date: "11/04/2016"
helpviewer_keywords: ["routines, console and port I/O", "routines", "ports, I/O routines", "I/O [CRT], console", "I/O [CRT], port", "I/O routines, console and port I/O"]
---
-# Console and Port I/O
+# Console and port I/O
These routines read and write on your console or on the specified port. The console I/O routines aren't compatible with stream I/O or low-level I/O library routines. The console or port doesn't have to be opened or closed before I/O is performed, so there are no open or close routines in this category. In the Windows operating systems, the output from these functions is always directed to the console and can't be redirected.
-## Console and Port I/O Routines
+## Console and port I/O routines
|Routine|Use|
|-------------|---------|
-|[`_cgets`, `_cgetws`](../c-runtime-library/cgets-cgetws.md), [`_cgets_s`, `_cgetws_s`](../c-runtime-library/reference/cgets-s-cgetws-s.md)|Read string from console|
-|[`_cprintf`, `_cwprintf`](../c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md), [`_cprintf_s`, `_cprintf_s_l`, `_cwprintf_s`, `_cwprintf_s_l`](../c-runtime-library/reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)|Write formatted data to console|
-|[`_cputs`](../c-runtime-library/reference/cputs-cputws.md)|Write string to console|
-|[`_cscanf`, `_cwscanf`](../c-runtime-library/reference/cscanf-cscanf-l-cwscanf-cwscanf-l.md), [`_cscanf_s`, `_cscanf_s_l`, `_cwscanf_s`, `_cwscanf_s_l`](../c-runtime-library/reference/cscanf-s-cscanf-s-l-cwscanf-s-cwscanf-s-l.md)|Read formatted data from console|
-|[`_getch`, `_getwch`](../c-runtime-library/reference/getch-getwch.md)|Read character from console|
-|[`_getche`, `_getwche`](../c-runtime-library/reference/getch-getwch.md)|Read character from console and echo it|
-|[`_inp`](../c-runtime-library/inp-inpw-inpd.md)|Read a byte from the specified I/O port|
-|[`_inpd`](../c-runtime-library/inp-inpw-inpd.md)|Read double word from specified I/O port|
-|[`_inpw`](../c-runtime-library/inp-inpw-inpd.md)|Read 2-byte word from specified I/O port|
-|[`_kbhit`](../c-runtime-library/reference/kbhit.md)|Check for keystroke at console; use before attempting to read from console|
-|[`_outp`](../c-runtime-library/outp-outpw-outpd.md)|Write a byte to the specified I/O port|
-|[`_outpd`](../c-runtime-library/outp-outpw-outpd.md)|Write double word to specified I/O port|
-|[`_outpw`](../c-runtime-library/outp-outpw-outpd.md)|Write word to specified I/O port|
-|[`_putch`, `_putwch`](../c-runtime-library/reference/putch-putwch.md)|Write character to console|
-|[`_ungetch`, `_ungetwch`](../c-runtime-library/reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)|"Unget" last character read from console so it becomes next character read|
+|[`_cgets`, `_cgetws`](./cgets-cgetws.md), [`_cgets_s`, `_cgetws_s`](./reference/cgets-s-cgetws-s.md)|Read string from console|
+|[`_cprintf`, `_cwprintf`](./reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md), [`_cprintf_s`, `_cprintf_s_l`, `_cwprintf_s`, `_cwprintf_s_l`](./reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)|Write formatted data to console|
+|[`_cputs`](./reference/cputs-cputws.md)|Write string to console|
+|[`_cscanf`, `_cwscanf`](./reference/cscanf-cscanf-l-cwscanf-cwscanf-l.md), [`_cscanf_s`, `_cscanf_s_l`, `_cwscanf_s`, `_cwscanf_s_l`](./reference/cscanf-s-cscanf-s-l-cwscanf-s-cwscanf-s-l.md)|Read formatted data from console|
+|[`_getch`, `_getwch`](./reference/getch-getwch.md)|Read character from console|
+|[`_getche`, `_getwche`](./reference/getch-getwch.md)|Read character from console and echo it|
+|[`_inp`](./inp-inpw-inpd.md)|Read a byte from the specified I/O port|
+|[`_inpd`](./inp-inpw-inpd.md)|Read double word from specified I/O port|
+|[`_inpw`](./inp-inpw-inpd.md)|Read 2-byte word from specified I/O port|
+|[`_kbhit`](./reference/kbhit.md)|Check for keystroke at console; use before attempting to read from console|
+|[`_outp`](./outp-outpw-outpd.md)|Write a byte to the specified I/O port|
+|[`_outpd`](./outp-outpw-outpd.md)|Write double word to specified I/O port|
+|[`_outpw`](./outp-outpw-outpd.md)|Write word to specified I/O port|
+|[`_putch`, `_putwch`](./reference/putch-putwch.md)|Write character to console|
+|[`_ungetch`, `_ungetwch`](./reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)|"Unget" last character read from console so it becomes next character read|
## See also
-[Input and Output](../c-runtime-library/input-and-output.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Input and output](./input-and-output.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/constant-and-global-variable-mappings.md b/docs/c-runtime-library/constant-and-global-variable-mappings.md
index 1a99b8b9215..b957278f0c4 100644
--- a/docs/c-runtime-library/constant-and-global-variable-mappings.md
+++ b/docs/c-runtime-library/constant-and-global-variable-mappings.md
@@ -6,11 +6,11 @@ f1_keywords: ["_tenviron", "_TEOF", "_tfinddata_t"]
helpviewer_keywords: ["tfinddatat function", "tenviron function", "TEOF type", "_TEOF type", "generic-text mappings", "_tenviron function", "_tfinddata_t function"]
ms.assetid: 3af4fd3e-9ed5-4ed9-96fd-7031e5126fd1
---
-# Constant and Global Variable Mappings
+# Constant and global variable mappings
These generic-text constant, global variable, and standard-type mappings are defined in TCHAR.H and depend on whether the constant `_UNICODE` or `_MBCS` has been defined in your program.
-### Generic-Text Constant and Global Variable Mappings
+### Generic-text constant and global variable mappings
|Generic-text - object name|SBCS (_UNICODE, _MBCS not defined)|_MBCS defined|_UNICODE defined|
|----------------------------------|--------------------------------------------|--------------------|-----------------------|
@@ -20,8 +20,8 @@ These generic-text constant, global variable, and standard-type mappings are def
## See also
-[Generic-Text Mappings](../c-runtime-library/generic-text-mappings.md)
-[Data Type Mappings](../c-runtime-library/data-type-mappings.md)
-[Routine Mappings](../c-runtime-library/routine-mappings.md)
-[A Sample Generic-Text Program](../c-runtime-library/a-sample-generic-text-program.md)
-[Using Generic-Text Mappings](../c-runtime-library/using-generic-text-mappings.md)
+[Generic-text mappings](./generic-text-mappings.md)\
+[Data type mappings](./data-type-mappings.md)\
+[Routine mappings](./routine-mappings.md)\
+[A sample generic-text program](./a-sample-generic-text-program.md)\
+[Using generic-text mappings](./using-generic-text-mappings.md)
diff --git a/docs/c-runtime-library/control-flags.md b/docs/c-runtime-library/control-flags.md
index 016e1da6334..be6453254ad 100644
--- a/docs/c-runtime-library/control-flags.md
+++ b/docs/c-runtime-library/control-flags.md
@@ -6,18 +6,18 @@ f1_keywords: ["c.flags"]
helpviewer_keywords: ["flags, control", "heap allocation, control flags", "debug heap, control flags"]
ms.assetid: 8dbd24a5-0633-42d1-9771-776db338465f
---
-# Control Flags
+# Control flags
-The debug version of the Microsoft C run-time library uses the following flags to control the heap allocation and reporting process. For more information, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+The debug version of the Microsoft C run-time library uses the following flags to control the heap allocation and reporting process. For more information, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
|Flag|Description|
|----------|-----------------|
-|[_CRTDBG_MAP_ALLOC](../c-runtime-library/crtdbg-map-alloc.md)|Maps the base heap functions to their debug version counterparts|
-|[_DEBUG](../c-runtime-library/debug.md)|Enables the use of the debugging versions of the run-time functions|
-|[_crtDbgFlag](../c-runtime-library/crtdbgflag.md)|Controls how the debug heap manager tracks allocations|
+|[_CRTDBG_MAP_ALLOC](./crtdbg-map-alloc.md)|Maps the base heap functions to their debug version counterparts|
+|[_DEBUG](./debug.md)|Enables the use of the debugging versions of the run-time functions|
+|[_crtDbgFlag](./crtdbgflag.md)|Controls how the debug heap manager tracks allocations|
These flags can be defined with a /D command-line option or with a `#define` directive. When the flag is defined with `#define`, the directive must appear before the header file `#include` directive for the routine declarations.
## See also
-[Global Variables and Standard Types](../c-runtime-library/global-variables-and-standard-types.md)
+[Global variables and standard types](./global-variables-and-standard-types.md)
diff --git a/docs/c-runtime-library/controlling-streams.md b/docs/c-runtime-library/controlling-streams.md
index 478cd9ad7f2..9fe5b838718 100644
--- a/docs/c-runtime-library/controlling-streams.md
+++ b/docs/c-runtime-library/controlling-streams.md
@@ -7,11 +7,11 @@ f1_keywords: ["Controlling Streams"]
helpviewer_keywords: ["streams, controlling", "controlling streams", "streams"]
ms.assetid: 267e9013-9afc-45f6-91e3-ca093230d9d9
---
-# Controlling Streams
+# Controlling streams
-[fopen](../c-runtime-library/reference/fopen-wfopen.md) returns the address of an object of type `FILE`. You use this address as the `stream` argument to several library functions to perform various operations on an open file. For a byte stream, all input takes place as if each character is read by calling [fgetc](../c-runtime-library/reference/fgetc-fgetwc.md). All output takes place as if each character is written by calling [fputc](../c-runtime-library/reference/fputc-fputwc.md). For a wide stream, all input takes place as if each character is read by calling [fgetwc](../c-runtime-library/reference/fgetc-fgetwc.md). All output takes place as if each character is written by calling [fputwc](../c-runtime-library/reference/fputc-fputwc.md).
+[fopen](./reference/fopen-wfopen.md) returns the address of an object of type `FILE`. You use this address as the `stream` argument to several library functions to perform various operations on an open file. For a byte stream, all input takes place as if each character is read by calling [fgetc](./reference/fgetc-fgetwc.md). All output takes place as if each character is written by calling [fputc](./reference/fputc-fputwc.md). For a wide stream, all input takes place as if each character is read by calling [fgetwc](./reference/fgetc-fgetwc.md). All output takes place as if each character is written by calling [fputwc](./reference/fputc-fputwc.md).
-You can close a file by calling [fclose](../c-runtime-library/reference/fclose-fcloseall.md), after which the address of the `FILE` object is invalid.
+You can close a file by calling [fclose](./reference/fclose-fcloseall.md), after which the address of the `FILE` object is invalid.
A `FILE` object stores the state of a stream, including:
@@ -21,7 +21,7 @@ A `FILE` object stores the state of a stream, including:
- A file-position indicator specifies the next byte in the stream to read or write, if the file can support positioning requests.
-- A [stream state](../c-runtime-library/stream-states.md) specifies whether the stream will accept reads and/or writes and whether the stream is unbound, byte oriented, or wide oriented.
+- A [stream state](./stream-states.md) specifies whether the stream will accept reads and/or writes and whether the stream is unbound, byte oriented, or wide oriented.
- A conversion state remembers the state of any partly assembled or generated generalized multibyte character, and any shift state for the sequence of bytes in the file).
@@ -31,4 +31,4 @@ Don't alter any value stored in a `FILE` object or in a file buffer that you spe
## See also
-[Files and Streams](../c-runtime-library/files-and-streams.md)
+[Files and streams](./files-and-streams.md)
diff --git a/docs/c-runtime-library/country-region-strings.md b/docs/c-runtime-library/country-region-strings.md
index 09b7f716934..d2bd0dbf29e 100644
--- a/docs/c-runtime-library/country-region-strings.md
+++ b/docs/c-runtime-library/country-region-strings.md
@@ -42,7 +42,7 @@ The Microsoft C run-time library implementation also supports the following coun
## See also
-[Locale Names, Languages, and Country/Region Strings](../c-runtime-library/locale-names-languages-and-country-region-strings.md)
-[Language Strings](../c-runtime-library/language-strings.md)
-[`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[`_create_locale`, `_wcreate_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md)
+[Locale names, Languages, and Country/Region strings](./locale-names-languages-and-country-region-strings.md)\
+[Language strings](./language-strings.md)\
+[`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md)\
+[`_create_locale`, `_wcreate_locale`](./reference/create-locale-wcreate-locale.md)
diff --git a/docs/c-runtime-library/crt-disable-perfcrit-locks.md b/docs/c-runtime-library/crt-disable-perfcrit-locks.md
index c6d776a32c1..4e6ffae9d70 100644
--- a/docs/c-runtime-library/crt-disable-perfcrit-locks.md
+++ b/docs/c-runtime-library/crt-disable-perfcrit-locks.md
@@ -18,8 +18,8 @@ Disables performance-critical locking in I/O operations.
## Remarks
-Defining this symbol can improve performance in single-threaded I/O-bound programs by forcing all I/O operations to assume a single-threaded I/O model. For more information, see [Multithreaded Libraries Performance](../c-runtime-library/multithreaded-libraries-performance.md).
+Defining this symbol can improve performance in single-threaded I/O-bound programs by forcing all I/O operations to assume a single-threaded I/O model. For more information, see [Multithreaded libraries performance](./multithreaded-libraries-performance.md).
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/crt-initialization.md b/docs/c-runtime-library/crt-initialization.md
index d426c7aee0c..13d47562f4d 100644
--- a/docs/c-runtime-library/crt-initialization.md
+++ b/docs/c-runtime-library/crt-initialization.md
@@ -14,7 +14,7 @@ By default, the linker includes the CRT library, which provides its own startup
It's possible, though not recommended, to take advantage of Microsoft-specific linker behavior to insert your own global initializers in a specific order. This code isn't portable, and comes with some important caveats.
-## Initializing a Global Object
+## Initializing a global object
Consider the following code:
@@ -112,4 +112,4 @@ The names `.CRT$XCT` and `.CRT$XCV` aren't used by either the compiler or the CR
## See also
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/crt-library-features.md b/docs/c-runtime-library/crt-library-features.md
index a0770dc0b94..5f9494f648f 100644
--- a/docs/c-runtime-library/crt-library-features.md
+++ b/docs/c-runtime-library/crt-library-features.md
@@ -12,7 +12,7 @@ This article lists the Microsoft C runtime library `.lib` files that you can lin
See [Redistributing Visual C++ files](../windows/redistributing-visual-cpp-files.md) if you're looking for information about deploying the C runtime files necessary to support your application.
-See [C runtime library reference](../c-runtime-library/c-run-time-library-reference.md) if you're looking for API reference for the C runtime library.
+See [C runtime library reference](./c-run-time-library-reference.md) if you're looking for API reference for the C runtime library.
>[!NOTE]
> Microsoft's implementation of the C++ Standard Library is often referred to as the *STL* or *Standard Template Library*. Although *C++ Standard Library* is the official name of the library as defined in ISO 14882, due to the popular use of "STL" and "Standard Template Library" in search engines, we occasionally use those names to make it easier to find our documentation.
@@ -66,15 +66,15 @@ This table lists the libraries that implement CRT initialization and termination
If you link your program from the command line without a compiler option that specifies a C runtime library, the linker will use the statically linked CRT libraries: *`libcmt.lib`*, *`libvcruntime.lib`*, and *`libucrt.lib`*.
-Using the statically linked CRT implies that any state information saved by the C runtime library will be local to that instance of the CRT. For example, if you use [`strtok`](../c-runtime-library/reference/strtok-strtok-l-wcstok-wcstok-l-mbstok-mbstok-l.md) when using a statically linked CRT, the position of the `strtok` parser is unrelated to the `strtok` state used in code in the same process (but in a different DLL or EXE) that is linked to another instance of the static CRT. In contrast, the dynamically linked CRT shares state for all code within a process that is dynamically linked to the CRT. This concern doesn't apply if you use the new more secure versions of these functions; for example, `strtok_s` doesn't have this problem.
+Using the statically linked CRT implies that any state information saved by the C runtime library will be local to that instance of the CRT. For example, if you use [`strtok`](./reference/strtok-strtok-l-wcstok-wcstok-l-mbstok-mbstok-l.md) when using a statically linked CRT, the position of the `strtok` parser is unrelated to the `strtok` state used in code in the same process (but in a different DLL or EXE) that is linked to another instance of the static CRT. In contrast, the dynamically linked CRT shares state for all code within a process that is dynamically linked to the CRT. This concern doesn't apply if you use the new more secure versions of these functions; for example, `strtok_s` doesn't have this problem.
-Because a DLL built by linking to a static CRT has its own CRT state, we don't recommend you link statically to the CRT in a DLL unless the consequences are understood and desired. For example, if you call [`_set_se_translator`](../c-runtime-library/reference/set-se-translator.md) in an executable that loads the DLL linked to its own static CRT, any hardware exceptions generated by the code in the DLL won't be caught by the translator, but hardware exceptions generated by code in the main executable will be caught.
+Because a DLL built by linking to a static CRT has its own CRT state, we don't recommend you link statically to the CRT in a DLL unless the consequences are understood and desired. For example, if you call [`_set_se_translator`](./reference/set-se-translator.md) in an executable that loads the DLL linked to its own static CRT, any hardware exceptions generated by the code in the DLL won't be caught by the translator, but hardware exceptions generated by code in the main executable will be caught.
If you're using the **`/clr`** compiler switch, your code will be linked with a static library, `msvcmrt.lib`. The static library provides a proxy between your managed code and the native CRT. You can't use the statically linked CRT ( **`/MT`** or **`/MTd`** options) with **`/clr`**. Use the dynamically linked libraries (**`/MD`** or **`/MDd`**) instead. The pure managed CRT libraries are deprecated in Visual Studio 2015 and unsupported in Visual Studio 2017.
For more information on using the CRT with **`/clr`**, see [Mixed (Native and Managed) Assemblies](../dotnet/mixed-native-and-managed-assemblies.md).
-To build a debug version of your application, the [`_DEBUG`](../c-runtime-library/debug.md) flag must be defined and the application must be linked with a debug version of one of these libraries. For more information about using the debug versions of the library files, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+To build a debug version of your application, the [`_DEBUG`](./debug.md) flag must be defined and the application must be linked with a debug version of one of these libraries. For more information about using the debug versions of the library files, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
This version of the CRT isn't fully conformant with the C99 standard. In versions before Visual Studio 2019 version 16.8, the `` header isn't supported. In all versions, the `CX_LIMITED_RANGE` and `FP_CONTRACT` pragma macros aren't supported. Certain elements such as the meaning of parameter specifiers in standard IO functions use legacy interpretations by default. You can use **`/Zc`** compiler conformance options and specify linker options to control some aspects of library conformance.
@@ -103,9 +103,9 @@ You can avoid many of these issues by using Application Binary Interface (ABI) t
It's also possible to avoid some of these issues if all of the images in your process use the same dynamically loaded version of the CRT. To ensure that all components use the same DLL version of the CRT, build them by using the **`/MD`** option, and use the same compiler toolset and property settings.
-Be careful if your program passes certain CRT resources across DLL boundaries. Resources such as file handles, locales, and environment variables can cause problems, even when using the same version of the CRT. For more information on the issues involved and how to resolve them, see [Potential Errors Passing CRT Objects Across DLL Boundaries](../c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md).
+Be careful if your program passes certain CRT resources across DLL boundaries. Resources such as file handles, locales, and environment variables can cause problems, even when using the same version of the CRT. For more information on the issues involved and how to resolve them, see [Potential errors passing CRT objects across DLL boundaries](./potential-errors-passing-crt-objects-across-dll-boundaries.md).
## See also
-[C runtime library reference](../c-runtime-library/c-run-time-library-reference.md)\
+[C runtime library reference](./c-run-time-library-reference.md)\
[Redistributing Visual C++ Files](../windows/redistributing-visual-cpp-files.md)
diff --git a/docs/c-runtime-library/crtdbg-map-alloc.md b/docs/c-runtime-library/crtdbg-map-alloc.md
index a44bc99f70c..d6a9b26fca3 100644
--- a/docs/c-runtime-library/crtdbg-map-alloc.md
+++ b/docs/c-runtime-library/crtdbg-map-alloc.md
@@ -8,10 +8,10 @@ ms.assetid: 435242b8-caea-4063-b765-4a608200312b
---
# _CRTDBG_MAP_ALLOC
-When the **_CRTDBG_MAP_ALLOC** flag is defined in the debug version of an application, the base versions of the heap functions are directly mapped to their debug versions. The flag is used in Crtdbg.h to do the mapping. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
+When the **_CRTDBG_MAP_ALLOC** flag is defined in the debug version of an application, the base versions of the heap functions are directly mapped to their debug versions. The flag is used in Crtdbg.h to do the mapping. This flag is only available when the [_DEBUG](./debug.md) flag has been defined in the application.
-For more information about using the debug version versus the base version of a heap function, see [Using the Debug Version Versus the Base Version](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For more information about using the debug version versus the base version of a heap function, see [Using the debug version versus the base version](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## See also
-[Control Flags](../c-runtime-library/control-flags.md)
+[Control flags](./control-flags.md)
diff --git a/docs/c-runtime-library/crtdbgflag.md b/docs/c-runtime-library/crtdbgflag.md
index d341a4d6bb3..ce1a0a3437a 100644
--- a/docs/c-runtime-library/crtdbgflag.md
+++ b/docs/c-runtime-library/crtdbgflag.md
@@ -8,10 +8,10 @@ ms.assetid: 9e7adb47-8ab9-4e19-81d5-e2f237979973
---
# _crtDbgFlag
-The **_crtDbgFlag** flag consists of five bit-fields that control how memory allocations on the debug version of the heap are tracked, verified, reported, and dumped. The bit fields of the flag are set using the [_CrtSetDbgFlag](../c-runtime-library/reference/crtsetdbgflag.md) function. This flag and its bit fields are declared in Crtdbg.h. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
+The **_crtDbgFlag** flag consists of five bit-fields that control how memory allocations on the debug version of the heap are tracked, verified, reported, and dumped. The bit fields of the flag are set using the [_CrtSetDbgFlag](./reference/crtsetdbgflag.md) function. This flag and its bit fields are declared in Crtdbg.h. This flag is only available when the [_DEBUG](./debug.md) flag has been defined in the application.
-For more information about using this flag along with other debug functions, see [Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details).
+For more information about using this flag along with other debug functions, see [Heap state reporting functions](/visualstudio/debugger/crt-debug-heap-details).
## See also
-[Control Flags](../c-runtime-library/control-flags.md)
+[Control flags](./control-flags.md)
diff --git a/docs/c-runtime-library/crtlcmapstringw.md b/docs/c-runtime-library/crtlcmapstringw.md
index ae9771253eb..e38046986f6 100644
--- a/docs/c-runtime-library/crtlcmapstringw.md
+++ b/docs/c-runtime-library/crtlcmapstringw.md
@@ -48,7 +48,7 @@ Long pointer to a buffer into which the function stores the mapped string or sor
*cchDest*
Size, in characters, of the buffer pointed to by `lpDestStr`.
-## Return Value
+## Return value
If the value of `cchDest` is nonzero, the number of characters, or bytes if `LCMAP_SORTKEY` is specified, written to the buffer indicates success. This count includes room for a null terminator.
diff --git a/docs/c-runtime-library/cxxframehandler.md b/docs/c-runtime-library/cxxframehandler.md
index 8f6e9df406c..84cb9b060b8 100644
--- a/docs/c-runtime-library/cxxframehandler.md
+++ b/docs/c-runtime-library/cxxframehandler.md
@@ -39,7 +39,7 @@ Context. (Not used on Intel processors.)
*pDC*
Additional information about the function entry and stack frame.
-## Return Value
+## Return value
One of the *filter expression* values used by the [try-except Statement](../cpp/try-except-statement.md).
diff --git a/docs/c-runtime-library/data-alignment.md b/docs/c-runtime-library/data-alignment.md
index 7586dceb7c8..234f8d75658 100644
--- a/docs/c-runtime-library/data-alignment.md
+++ b/docs/c-runtime-library/data-alignment.md
@@ -6,31 +6,31 @@ f1_keywords: ["data.alignment"]
helpviewer_keywords: ["data alignment [C++]"]
ms.assetid: 35ac3d2d-a4b3-421b-954f-b7372b1f18e1
---
-# Data Alignment
+# Data alignment
The following C run-time functions support data alignment.
-## Data-Alignment Routines
+## Data-alignment routines
|Routine|Use|
|-------------|---------|
-|[_aligned_free](../c-runtime-library/reference/aligned-free.md)|Frees a block of memory that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md)or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md).|
-|[_aligned_free_dbg](../c-runtime-library/reference/aligned-free-dbg.md)|Frees a block of memory that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) (debug only).|
-|[_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md)|Allocates memory on a specified alignment boundary.|
-|[_aligned_malloc_dbg](../c-runtime-library/reference/aligned-malloc-dbg.md)|Allocates memory on a specified alignment boundary with extra space for a debugging header and overwrite buffers (debug version only).|
-|[_aligned_msize](../c-runtime-library/reference/aligned-msize.md)|Returns the size of a memory block allocated in the heap.|
-|[_aligned_msize_dbg](../c-runtime-library/reference/aligned-msize-dbg.md)|Returns the size of a memory block allocated in the heap (debug version only).|
-|[_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md)|Allocates memory on a specified alignment boundary.|
-|[_aligned_offset_malloc_dbg](../c-runtime-library/reference/aligned-offset-malloc-dbg.md)|Allocates memory on a specified alignment boundary (debug version only).|
-|[_aligned_offset_realloc](../c-runtime-library/reference/aligned-offset-realloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md).|
-|[_aligned_offset_realloc_dbg](../c-runtime-library/reference/aligned-offset-realloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) (debug version only).|
-|[_aligned_offset_recalloc](../c-runtime-library/reference/aligned-offset-recalloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) and initializes the memory to 0.|
-|[_aligned_offset_recalloc_dbg](../c-runtime-library/reference/aligned-offset-recalloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) and initializes the memory to 0 (debug version only).|
-|[_aligned_realloc](../c-runtime-library/reference/aligned-realloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md).|
-|[_aligned_realloc_dbg](../c-runtime-library/reference/aligned-realloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) (debug version only).|
-|[_aligned_recalloc](../c-runtime-library/reference/aligned-recalloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) and initializes the memory to 0.|
-|[_aligned_recalloc_dbg](../c-runtime-library/reference/aligned-recalloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) and initializes the memory to 0 (debug version only).|
+|[_aligned_free](./reference/aligned-free.md)|Frees a block of memory that was allocated with [_aligned_malloc](./reference/aligned-malloc.md)or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md).|
+|[_aligned_free_dbg](./reference/aligned-free-dbg.md)|Frees a block of memory that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) (debug only).|
+|[_aligned_malloc](./reference/aligned-malloc.md)|Allocates memory on a specified alignment boundary.|
+|[_aligned_malloc_dbg](./reference/aligned-malloc-dbg.md)|Allocates memory on a specified alignment boundary with extra space for a debugging header and overwrite buffers (debug version only).|
+|[_aligned_msize](./reference/aligned-msize.md)|Returns the size of a memory block allocated in the heap.|
+|[_aligned_msize_dbg](./reference/aligned-msize-dbg.md)|Returns the size of a memory block allocated in the heap (debug version only).|
+|[_aligned_offset_malloc](./reference/aligned-offset-malloc.md)|Allocates memory on a specified alignment boundary.|
+|[_aligned_offset_malloc_dbg](./reference/aligned-offset-malloc-dbg.md)|Allocates memory on a specified alignment boundary (debug version only).|
+|[_aligned_offset_realloc](./reference/aligned-offset-realloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md).|
+|[_aligned_offset_realloc_dbg](./reference/aligned-offset-realloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) (debug version only).|
+|[_aligned_offset_recalloc](./reference/aligned-offset-recalloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) and initializes the memory to 0.|
+|[_aligned_offset_recalloc_dbg](./reference/aligned-offset-recalloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) and initializes the memory to 0 (debug version only).|
+|[_aligned_realloc](./reference/aligned-realloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md).|
+|[_aligned_realloc_dbg](./reference/aligned-realloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) (debug version only).|
+|[_aligned_recalloc](./reference/aligned-recalloc.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) and initializes the memory to 0.|
+|[_aligned_recalloc_dbg](./reference/aligned-recalloc-dbg.md)|Changes the size of a memory block that was allocated with [_aligned_malloc](./reference/aligned-malloc.md) or [_aligned_offset_malloc](./reference/aligned-offset-malloc.md) and initializes the memory to 0 (debug version only).|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/data-conversion.md b/docs/c-runtime-library/data-conversion.md
index e7939ab2527..9f67a01e779 100644
--- a/docs/c-runtime-library/data-conversion.md
+++ b/docs/c-runtime-library/data-conversion.md
@@ -5,51 +5,51 @@ ms.date: "03/21/2018"
f1_keywords: ["c.conversions"]
helpviewer_keywords: ["data conversion routines [C++]", "converting data"]
---
-# Data Conversion
+# Data conversion
-These routines convert data from one form to another. Generally these routines execute faster than conversions you might write. Each routine that begins with a `to` prefix is implemented as a function and as a macro. See [Choosing Between Functions and Macros](../c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md) for information about choosing an implementation.
+These routines convert data from one form to another. Generally these routines execute faster than conversions you might write. Each routine that begins with a `to` prefix is implemented as a function and as a macro. See [Recommendations for choosing between functions and macros](./recommendations-for-choosing-between-functions-and-macros.md) for information about choosing an implementation.
## Data-conversion routines
|Routine|Use|
|-------------|---------|
-|[`abs`](../c-runtime-library/reference/abs-labs-llabs-abs64.md)|Find absolute value of integer|
-|[`atof`, `_atof_l`](../c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md)|Convert string to **`float`**|
-|[`atoi`, `_atoi_l`](../c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert string to **`int`**|
-|[`_atoi64`, `_atoi64_l`](../c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert string to **`__int64`** or **`long long`**|
-|[`atol`, `_atol_l`](../c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md)|Convert string to **`long`**|
-|[`c16rtomb`, `c32rtomb`](../c-runtime-library/reference/c16rtomb-c32rtomb1.md)|Convert UTF-16 or UTF-32 character to equivalent multibyte character|
-|[`_ecvt`](../c-runtime-library/reference/ecvt.md), [`_ecvt_s`](../c-runtime-library/reference/ecvt-s.md)|Convert **`double`** to string of specified length|
-|[`_fcvt`](../c-runtime-library/reference/fcvt.md), [`_fcvt_s`](../c-runtime-library/reference/fcvt-s.md)|Convert **`double`** to string with specified number of digits following decimal point|
-|[`_gcvt`](../c-runtime-library/reference/gcvt.md), [`_gcvt_s`](../c-runtime-library/reference/gcvt-s.md)|Convert **`double`** number to string; store string in buffer|
-|[`_itoa`, `_ltoa`, `_ultoa`, `_i64toa`, `_ui64toa`, `_itow`, `_ltow`, `ultow`, `_i64tow`, `_ui64tow`](../c-runtime-library/reference/itoa-itow.md), [`_itoa_s`, `_ltoa_s`, `_ultoa_s`, `_i64toa_s`, `_ui64toa_s`, `_itow_s`, `_ltow_s`, `_ultow_s`, `_i64tow_s`, `_ui64tow_s`](../c-runtime-library/reference/itoa-s-itow-s.md)|Convert integer types to string|
-|[`labs`](../c-runtime-library/reference/abs-labs-llabs-abs64.md)|Find absolute value of **`long`** integer|
-|[`llabs`](../c-runtime-library/reference/abs-labs-llabs-abs64.md)|Find absolute value of **`long long`** integer|
-|[`_mbbtombc`, `_mbbtombc_l`](../c-runtime-library/reference/mbbtombc-mbbtombc-l.md)|Convert 1-byte multibyte character to corresponding 2-byte multibyte character|
-|[`_mbcjistojms`, `_mbcjistojms_l`, `_mbcjmstojis`, `_mbcjmstojis_l`](../c-runtime-library/reference/mbcjistojms-mbcjistojms-l-mbcjmstojis-mbcjmstojis-l.md)|Convert Japan Industry Standard (JIS) character to Japan Microsoft (JMS) character|
-|[`_mbcjistojms`, `_mbcjistojms_l`, `_mbcjmstojis`, `_mbcjmstojis_l`](../c-runtime-library/reference/mbcjistojms-mbcjistojms-l-mbcjmstojis-mbcjmstojis-l.md)|Convert JMS character to JIS character|
-|[`_mbctohira`, `_mbctohira_l`, `_mbctokata`, `_mbctokata_l`](../c-runtime-library/reference/mbctohira-mbctohira-l-mbctokata-mbctokata-l.md)|Convert multibyte character to 1-byte hiragana code|
-|[`_mbctohira`, `_mbctohira_l`, `_mbctokata`, `_mbctokata_l`](../c-runtime-library/reference/mbctohira-mbctohira-l-mbctokata-mbctokata-l.md)|Convert multibyte character to 1-byte katakana code|
-|[`_mbctombb`, `_mbctombb_l`](../c-runtime-library/reference/mbctombb-mbctombb-l.md)|Convert 2-byte multibyte character to corresponding 1-byte multibyte character|
-|[`mbrtoc16`, `mbrtoc32`](../c-runtime-library/reference/mbrtoc16-mbrtoc323.md)|Convert multibyte character to equivalent UTF-16 or UTF-32 character|
-|[`mbstowcs`, `_mbstowcs_l`](../c-runtime-library/reference/mbstowcs-mbstowcs-l.md), [`mbstowcs_s`, `_mbstowcs_s_l`](../c-runtime-library/reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|
-|[`mbtowc`, `_mbtowc_l`](../c-runtime-library/reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|
-|[`strtod`, `_strtod_l`, `wcstod`, `_wcstod_l`](../c-runtime-library/reference/strtod-strtod-l-wcstod-wcstod-l.md)|Convert string to **`double`**|
-|[`strtol`, `wcstol`, `_strtol_l`, `_wcstol_l`](../c-runtime-library/reference/strtol-wcstol-strtol-l-wcstol-l.md)|Convert string to **`long`** integer|
-|[`strtoul`, `_strtoul_l`, `wcstoul`, `_wcstoul_l`](../c-runtime-library/reference/strtoul-strtoul-l-wcstoul-wcstoul-l.md)|Convert string to **`unsigned long`** integer|
-|[`strxfrm`, `wcsxfrm`, `_strxfrm_l`, `_wcsxfrm_l`](../c-runtime-library/reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)|Transform string into collated form based on locale-specific information|
-|[`toascii`, `__toascii`](../c-runtime-library/reference/toascii-toascii.md)|Convert character to ASCII code|
-|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md), [`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](../c-runtime-library/reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Test character and convert to lowercase if currently uppercase|
-|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md)|Convert character to lowercase unconditionally|
-|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md), [`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](../c-runtime-library/reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Test character and convert to uppercase if currently lowercase|
-|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md)|Convert character to uppercase unconditionally|
-|[`wcstombs`, `_wcstombs_l`](../c-runtime-library/reference/wcstombs-wcstombs-l.md), [`wcstombs_s`, `_wcstombs_s_l`](../c-runtime-library/reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|
-|[`wctomb`, `_wctomb_l`](../c-runtime-library/reference/wctomb-wctomb-l.md), [`wctomb_s`, `_wctomb_s_l`](../c-runtime-library/reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|
-|[`_wtof`, `_wtof_l`](../c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md)|Convert wide-character string to a **`double`**|
-|[`_wtoi`, `_wtoi_l`](../c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert wide-character string to **`int`**|
-|[`_wtoi64`, `_wtoi64_l`](../c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert wide-character string to **`__int64`** or **`long long`**|
-|[`_wtol`, `_wtol_l`](../c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md)|Convert wide-character string to **`long`**|
+|[`abs`](./reference/abs-labs-llabs-abs64.md)|Find absolute value of integer|
+|[`atof`, `_atof_l`](./reference/atof-atof-l-wtof-wtof-l.md)|Convert string to **`float`**|
+|[`atoi`, `_atoi_l`](./reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert string to **`int`**|
+|[`_atoi64`, `_atoi64_l`](./reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert string to **`__int64`** or **`long long`**|
+|[`atol`, `_atol_l`](./reference/atol-atol-l-wtol-wtol-l.md)|Convert string to **`long`**|
+|[`c16rtomb`, `c32rtomb`](./reference/c16rtomb-c32rtomb1.md)|Convert UTF-16 or UTF-32 character to equivalent multibyte character|
+|[`_ecvt`](./reference/ecvt.md), [`_ecvt_s`](./reference/ecvt-s.md)|Convert **`double`** to string of specified length|
+|[`_fcvt`](./reference/fcvt.md), [`_fcvt_s`](./reference/fcvt-s.md)|Convert **`double`** to string with specified number of digits following decimal point|
+|[`_gcvt`](./reference/gcvt.md), [`_gcvt_s`](./reference/gcvt-s.md)|Convert **`double`** number to string; store string in buffer|
+|[`_itoa`, `_ltoa`, `_ultoa`, `_i64toa`, `_ui64toa`, `_itow`, `_ltow`, `ultow`, `_i64tow`, `_ui64tow`](./reference/itoa-itow.md), [`_itoa_s`, `_ltoa_s`, `_ultoa_s`, `_i64toa_s`, `_ui64toa_s`, `_itow_s`, `_ltow_s`, `_ultow_s`, `_i64tow_s`, `_ui64tow_s`](./reference/itoa-s-itow-s.md)|Convert integer types to string|
+|[`labs`](./reference/abs-labs-llabs-abs64.md)|Find absolute value of **`long`** integer|
+|[`llabs`](./reference/abs-labs-llabs-abs64.md)|Find absolute value of **`long long`** integer|
+|[`_mbbtombc`, `_mbbtombc_l`](./reference/mbbtombc-mbbtombc-l.md)|Convert 1-byte multibyte character to corresponding 2-byte multibyte character|
+|[`_mbcjistojms`, `_mbcjistojms_l`, `_mbcjmstojis`, `_mbcjmstojis_l`](./reference/mbcjistojms-mbcjistojms-l-mbcjmstojis-mbcjmstojis-l.md)|Convert Japan Industry Standard (JIS) character to Japan Microsoft (JMS) character|
+|[`_mbcjistojms`, `_mbcjistojms_l`, `_mbcjmstojis`, `_mbcjmstojis_l`](./reference/mbcjistojms-mbcjistojms-l-mbcjmstojis-mbcjmstojis-l.md)|Convert JMS character to JIS character|
+|[`_mbctohira`, `_mbctohira_l`, `_mbctokata`, `_mbctokata_l`](./reference/mbctohira-mbctohira-l-mbctokata-mbctokata-l.md)|Convert multibyte character to 1-byte hiragana code|
+|[`_mbctohira`, `_mbctohira_l`, `_mbctokata`, `_mbctokata_l`](./reference/mbctohira-mbctohira-l-mbctokata-mbctokata-l.md)|Convert multibyte character to 1-byte katakana code|
+|[`_mbctombb`, `_mbctombb_l`](./reference/mbctombb-mbctombb-l.md)|Convert 2-byte multibyte character to corresponding 1-byte multibyte character|
+|[`mbrtoc16`, `mbrtoc32`](./reference/mbrtoc16-mbrtoc323.md)|Convert multibyte character to equivalent UTF-16 or UTF-32 character|
+|[`mbstowcs`, `_mbstowcs_l`](./reference/mbstowcs-mbstowcs-l.md), [`mbstowcs_s`, `_mbstowcs_s_l`](./reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|
+|[`mbtowc`, `_mbtowc_l`](./reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|
+|[`strtod`, `_strtod_l`, `wcstod`, `_wcstod_l`](./reference/strtod-strtod-l-wcstod-wcstod-l.md)|Convert string to **`double`**|
+|[`strtol`, `wcstol`, `_strtol_l`, `_wcstol_l`](./reference/strtol-wcstol-strtol-l-wcstol-l.md)|Convert string to **`long`** integer|
+|[`strtoul`, `_strtoul_l`, `wcstoul`, `_wcstoul_l`](./reference/strtoul-strtoul-l-wcstoul-wcstoul-l.md)|Convert string to **`unsigned long`** integer|
+|[`strxfrm`, `wcsxfrm`, `_strxfrm_l`, `_wcsxfrm_l`](./reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)|Transform string into collated form based on locale-specific information|
+|[`toascii`, `__toascii`](./reference/toascii-toascii.md)|Convert character to ASCII code|
+|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](./reference/tolower-tolower-towlower-tolower-l-towlower-l.md), [`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](./reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Test character and convert to lowercase if currently uppercase|
+|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](./reference/tolower-tolower-towlower-tolower-l-towlower-l.md)|Convert character to lowercase unconditionally|
+|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](./reference/toupper-toupper-towupper-toupper-l-towupper-l.md), [`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](./reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Test character and convert to uppercase if currently lowercase|
+|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](./reference/toupper-toupper-towupper-toupper-l-towupper-l.md)|Convert character to uppercase unconditionally|
+|[`wcstombs`, `_wcstombs_l`](./reference/wcstombs-wcstombs-l.md), [`wcstombs_s`, `_wcstombs_s_l`](./reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|
+|[`wctomb`, `_wctomb_l`](./reference/wctomb-wctomb-l.md), [`wctomb_s`, `_wctomb_s_l`](./reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|
+|[`_wtof`, `_wtof_l`](./reference/atof-atof-l-wtof-wtof-l.md)|Convert wide-character string to a **`double`**|
+|[`_wtoi`, `_wtoi_l`](./reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert wide-character string to **`int`**|
+|[`_wtoi64`, `_wtoi64_l`](./reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert wide-character string to **`__int64`** or **`long long`**|
+|[`_wtol`, `_wtol_l`](./reference/atol-atol-l-wtol-wtol-l.md)|Convert wide-character string to **`long`**|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/data-type-constants.md b/docs/c-runtime-library/data-type-constants.md
index e69c292b9bb..4e7b75dfb6a 100644
--- a/docs/c-runtime-library/data-type-constants.md
+++ b/docs/c-runtime-library/data-type-constants.md
@@ -5,7 +5,7 @@ ms.date: "06/25/2018"
f1_keywords: ["FLT_MIN", "SHRT_MAX", "CHAR_MIN", "MB_LEN_MAX", "DBL_EPSILON", "SHRT_MIN", "_FLT_RADIX", "FLT_DIG", "FLT_MAX_10_EXP", "FLT_MANT_DIG", "DBL_MAX_EXP", "SCHAR_MIN", "SCHAR_MAX", "DBL_MIN", "FLT_MIN_10_EXP", "_DBL_ROUNDS", "USHRT_MAX", "FLT_MAX_EXP", "LONG_MAX", "DBL_MAX", "DBL_DIG", "FLT_MIN_EXP", "INT_MIN", "DBL_MIN_10_EXP", "CHAR_BIT", "INT_MAX", "ULONG_MAX", "DBL_MIN_EXP", "LONG_MIN", "_FLT_ROUNDS", "DBL_MANT_DIG", "_DBL_RADIX", "CHAR_MAX", "FLT_MAX", "DBL_MAX_10_EXP", "UCHAR_MAX", "FLT_EPSILON", "UINT_MAX", "LLONG_MIN", "LLONG_MAX", "ULLONG_MAX", "_I8_MIN", "_I8_MAX", "_UI8_MAX", "_I16_MIN", "_I16_MAX", "_UI16_MAX", "_I32_MIN", "_I32_MAX", "_UI32_MAX", "_I64_MIN", "_I64_MAX", "_UI64_MAX", "_I128_MIN", "_I128_MAX", "_UI128_MAX", "SIZE_MAX", "RSIZE_MAX", "LDBL_DIG", "LDBL_EPSILON", "LDBL_HAS_SUBNORM", "LDBL_MANT_DIG", "LDBL_MAX", "LDBL_MAX_10_EXP", "LDBL_MAX_EXP", "LDBL_MIN", "LDBL_MIN_10_EXP", "LDBL_MIN_EXP", "_LDBL_RADIX", "LDBL_TRUE_MIN", "DECIMAL_DIG"]
helpviewer_keywords: ["DBL_MAX_EXP constant", "_DBL_RADIX constant", "FLT_MIN_EXP constant", "DBL_EPSILON constant", "INT_MIN constant", "FLT_EPSILON constant", "DBL_MANT_DIG constant", "_FLT_RADIX constant", "DBL_MIN constant", "USHRT_MAX constant", "FLT_MAX_10_EXP constant", "_FLT_ROUNDS constant", "data type constants [C++]", "_DBL_ROUNDS constant", "CHAR_MAX constant", "FLT_MAX_EXP constant", "FLT_MIN constant", "CHAR_MIN constant", "FLT_MIN_10_EXP constant", "DBL_MIN_EXP constant", "SCHAR_MAX constant", "FLT_RADIX constant", "CHAR_BIT constant", "UCHAR_MAX constant", "DBL_RADIX constant", "FLT_ROUNDS constant", "LONG_MIN constant", "SHRT_MAX constant", "LONG_MAX constant", "DBL_MAX_10_EXP constant", "DBL_MIN_10_EXP constant", "INT_MAX constant", "constants [C++], data type", "ULONG_MAX constant", "FLT_DIG constant", "MB_LEN_MAX constant", "DBL_DIG constant", "SHRT_MIN constant", "DBL_MAX constant", "DBL_ROUNDS constant", "FLT_MAX constant", "UINT_MAX constant", "FLT_MANT_DIG constant", "SCHAR_MIN constant", "LLONG_MIN constant", "LLONG_MAX constant", "ULLONG_MAX constant", "_I8_MIN constant", "_I8_MAX constant", "_UI8_MAX constant", "_I16_MIN constant", "_I16_MAX constant", "_UI16_MAX constant", "_I32_MIN constant", "_I32_MAX constant", "_UI32_MAX constant", "_I64_MIN constant", "_I64_MAX constant", "_UI64_MAX constant", "_I128_MIN constant", "_I128_MAX constant", "_UI128_MAX constant", "SIZE_MAX constant", "RSIZE_MAX constant"]
---
-# Data Type Constants
+# Data type constants
Data type constants are implementation-dependent ranges of values allowed for integral and floating-point data types.
@@ -111,4 +111,4 @@ The following constants give the range and other characteristics of the **`long
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/data-type-mappings.md b/docs/c-runtime-library/data-type-mappings.md
index aa0d1a52f0b..5aae9eed3d1 100644
--- a/docs/c-runtime-library/data-type-mappings.md
+++ b/docs/c-runtime-library/data-type-mappings.md
@@ -6,13 +6,13 @@ f1_keywords: ["_TXCHAR", "_TUCHAR", "_TINT", "_TSCHAR", "_TCHAR", "TCHAR::H", "T
helpviewer_keywords: ["_TXCHAR type", "TINT type", "_TCHAR type", "TSCHAR type", "TEXT type", "TCHAR type", "TCHAR.H data types, mappings defined in", "generic-text data types", "_TINT type", "TUCHAR type", "TXCHAR type", "_TSCHAR type", "T type", "_TUCHAR type", "_TEXT type", "_T type"]
ms.assetid: 4e573c05-8800-468b-ae5f-76ff7409835e
---
-# Data Type Mappings
+# Data type mappings
These data-type mappings are defined in TCHAR.H and depend on whether the constant `_UNICODE` or `_MBCS` has been defined in your program.
For related information, see [Using TCHAR.H Data Types with _MBCS Code](../text/using-tchar-h-data-types-with-mbcs-code.md).
-### Generic-Text Data Type Mappings
+### Generic-text data type mappings
|Generic-text
data type name|SBCS (_UNICODE,
_MBCS not
defined)|_MBCS
defined|_UNICODE
defined|
|--------------------------------------|----------------------------------------------------|------------------------|---------------------------|
@@ -28,8 +28,8 @@ For related information, see [Using TCHAR.H Data Types with _MBCS Code](../text/
## See also
-[Generic-Text Mappings](../c-runtime-library/generic-text-mappings.md)
-[Constant and Global Variable Mappings](../c-runtime-library/constant-and-global-variable-mappings.md)
-[Routine Mappings](../c-runtime-library/routine-mappings.md)
-[A Sample Generic-Text Program](../c-runtime-library/a-sample-generic-text-program.md)
-[Using Generic-Text Mappings](../c-runtime-library/using-generic-text-mappings.md)
+[Generic-text mappings](./generic-text-mappings.md)\
+[Constant and global variable mappings](./constant-and-global-variable-mappings.md)\
+[Routine mappings](./routine-mappings.md)\
+[A sample generic-text program](./a-sample-generic-text-program.md)\
+[Using generic-text mappings](./using-generic-text-mappings.md)
diff --git a/docs/c-runtime-library/daylight-dstbias-timezone-and-tzname.md b/docs/c-runtime-library/daylight-dstbias-timezone-and-tzname.md
index 2fec010706d..d1358f68cc1 100644
--- a/docs/c-runtime-library/daylight-dstbias-timezone-and-tzname.md
+++ b/docs/c-runtime-library/daylight-dstbias-timezone-and-tzname.md
@@ -12,10 +12,10 @@ ms.assetid: d06c7292-6b99-4aba-b284-16a96570c856
|Global variable|Functional equivalent|
|---------------------|---------------------------|
-|`_daylight`|[_get_daylight](../c-runtime-library/reference/get-daylight.md)|
-|`_dstbias`|[_get_dstbias](../c-runtime-library/reference/get-dstbias.md)|
-|`_timezone`|[_get_timezone](../c-runtime-library/reference/get-timezone.md)|
-|`_tzname`|[_get_tzname](../c-runtime-library/reference/get-tzname.md)|
+|`_daylight`|[_get_daylight](./reference/get-daylight.md)|
+|`_dstbias`|[_get_dstbias](./reference/get-dstbias.md)|
+|`_timezone`|[_get_timezone](./reference/get-timezone.md)|
+|`_tzname`|[_get_tzname](./reference/get-tzname.md)|
They're declared in Time.h as follows.
@@ -30,7 +30,7 @@ extern char *_tzname[2];
## Remarks
-On a call to `_ftime`, `localtime`, or `_tzset`, the values of `_daylight`, `_dstbias`, `_timezone`, and `_tzname` are determined from the value of the `TZ` environment variable. If you don't explicitly set the value of `TZ`, `_tzname[0]` and `_tzname[1]` contain the default settings of "PST" and "PDT" respectively. The time-manipulation functions ([_tzset](../c-runtime-library/reference/tzset.md), [_ftime](../c-runtime-library/reference/ftime-ftime32-ftime64.md), and [localtime](../c-runtime-library/reference/localtime-localtime32-localtime64.md)) attempt to set the values of `_daylight`, `_dstbias` and `_timezone` by querying the operating system for the default value of each variable. The time-zone global variable values are shown in the following table.
+On a call to `_ftime`, `localtime`, or `_tzset`, the values of `_daylight`, `_dstbias`, `_timezone`, and `_tzname` are determined from the value of the `TZ` environment variable. If you don't explicitly set the value of `TZ`, `_tzname[0]` and `_tzname[1]` contain the default settings of "PST" and "PDT" respectively. The time-manipulation functions ([_tzset](./reference/tzset.md), [_ftime](./reference/ftime-ftime32-ftime64.md), and [localtime](./reference/localtime-localtime32-localtime64.md)) attempt to set the values of `_daylight`, `_dstbias` and `_timezone` by querying the operating system for the default value of each variable. The time-zone global variable values are shown in the following table.
|Variable|Value|
|--------------|-----------|
@@ -42,8 +42,8 @@ On a call to `_ftime`, `localtime`, or `_tzset`, the values of `_daylight`, `_ds
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
-[_get_daylight](../c-runtime-library/reference/get-daylight.md)
-[_get_dstbias](../c-runtime-library/reference/get-dstbias.md)
-[_get_timezone](../c-runtime-library/reference/get-timezone.md)
-[_get_tzname](../c-runtime-library/reference/get-tzname.md)
+[Global variables](./global-variables.md)\
+[_get_daylight](./reference/get-daylight.md)\
+[_get_dstbias](./reference/get-dstbias.md)\
+[_get_timezone](./reference/get-timezone.md)\
+[_get_tzname](./reference/get-tzname.md)
diff --git a/docs/c-runtime-library/debug-routines.md b/docs/c-runtime-library/debug-routines.md
index 741bd8d2536..5d135cb6524 100644
--- a/docs/c-runtime-library/debug-routines.md
+++ b/docs/c-runtime-library/debug-routines.md
@@ -20,45 +20,45 @@ The debug version of the C runtime library supplies many diagnostic services tha
## Debug versions of the C runtime library routines
-To use these routines, the [_DEBUG](../c-runtime-library/debug.md) flag must be defined. All of these routines do nothing in a retail build of an application. For more information on how to use the new debug routines, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+To use these routines, the [_DEBUG](./debug.md) flag must be defined. All of these routines do nothing in a retail build of an application. For more information on how to use the new debug routines, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
| Routine | Use |
|--|--|
-| [`_ASSERT`](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) | Evaluate an expression and generates a debug report when the result is FALSE |
-| [`_ASSERTE`](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) | Similar to **`_ASSERT`**, but includes the failed expression in the generated report |
-| [`_CrtCheckMemory`](../c-runtime-library/reference/crtcheckmemory.md) | Confirm the integrity of the memory blocks allocated on the debug heap |
-| [`_CrtDbgBreak`](../c-runtime-library/reference/crtdbgbreak.md) | Sets a break point. |
-| [`_CrtDbgReport`, `_CrtDbgReportW`](../c-runtime-library/reference/crtdbgreport-crtdbgreportw.md) | Generate a debug report with a user message and send the report to three possible destinations |
-| [`_CrtDoForAllClientObjects`](../c-runtime-library/reference/crtdoforallclientobjects.md) | Call an application-supplied function for all `_CLIENT_BLOCK` types on the heap |
-| [`_CrtDumpMemoryLeaks`](../c-runtime-library/reference/crtdumpmemoryleaks.md) | Dump all of the memory blocks on the debug heap when a significant memory leak has occurred |
-| [`_CrtIsMemoryBlock`](../c-runtime-library/reference/crtismemoryblock.md) | Verify that a specified memory block is located within the local heap and that it has a valid debug heap block type identifier |
-| [`_CrtIsValidHeapPointer`](../c-runtime-library/reference/crtisvalidheappointer.md) | Verifies that a specified pointer is in the local heap |
-| [`_CrtIsValidPointer`](../c-runtime-library/reference/crtisvalidpointer.md) | Verify that a specified memory range is valid for reading and writing |
-| [`_CrtMemCheckpoint`](../c-runtime-library/reference/crtmemcheckpoint.md) | Obtain the current state of the debug heap and store it in an application-supplied `_CrtMemState` structure |
-| [`_CrtMemDifference`](../c-runtime-library/reference/crtmemdifference.md) | Compare two memory states for significant differences and return the results |
-| [`_CrtMemDumpAllObjectsSince`](../c-runtime-library/reference/crtmemdumpallobjectssince.md) | Dump information about objects on the heap since a specified checkpoint was taken or from the start of program execution |
-| [`_CrtMemDumpStatistics`](../c-runtime-library/reference/crtmemdumpstatistics.md) | Dump the debug header information for a specified memory state in a user-readable form |
-| [`_CrtReportBlockType`](../c-runtime-library/reference/crtreportblocktype.md) | Returns the block type/subtype associated with a given debug heap block pointer. |
-| [`_CrtSetAllocHook`](../c-runtime-library/reference/crtsetallochook.md) | Install a client-defined allocation function by hooking it into the C run-time debug memory allocation process |
-| [`_CrtSetBreakAlloc`](../c-runtime-library/reference/crtsetbreakalloc.md) | Set a breakpoint on a specified object allocation order number |
-| [`_CrtSetDbgFlag`](../c-runtime-library/reference/crtsetdbgflag.md) | Retrieve or modify the state of the `_crtDbgFlag` flag to control the allocation behavior of the debug heap manager |
-| [`_CrtSetDumpClient`](../c-runtime-library/reference/crtsetdumpclient.md) | Install an application-defined function that is called every time a debug dump function is called to dump `_CLIENT_BLOCK` type memory blocks |
-| [`_CrtSetReportFile`](../c-runtime-library/reference/crtsetreportfile.md) | Identify the file or stream to be used as a destination for a specific report type by `_CrtDbgReport` |
-| [`_CrtSetReportHook`](../c-runtime-library/reference/crtsetreporthook.md) | Install a client-defined reporting function by hooking it into the C run-time debug reporting process |
-| [`_CrtSetReportHook2`, `_CrtSetReportHookW2`](../c-runtime-library/reference/crtsetreporthook2-crtsetreporthookw2.md) | Installs or uninstalls a client-defined reporting function by hooking it into the C run-time debug reporting process. |
-| [`_CrtSetReportMode`](../c-runtime-library/reference/crtsetreportmode.md) | Specify the general destination(s) for a specific report type generated by `_CrtDbgReport` |
-| [`_RPT[0,1,2,3,4]`](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md) | Track the application's progress by generating a debug report by calling `_CrtDbgReport` with a format string and a variable number of arguments. Provides no source file and line number information. |
-| [`_RPTF[0,1,2,3,4]`](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md) | Similar to the `_RPTn` macros, but provides the source file name and line number where the report request originated |
-| [`_calloc_dbg`](../c-runtime-library/reference/calloc-dbg.md) | Allocate a specified number of memory blocks on the heap with extra space for a debugging header and overwrite buffers |
-| [`_expand_dbg`](../c-runtime-library/reference/expand-dbg.md) | Resize a specified block of memory on the heap by expanding or contracting the block |
-| [`_free_dbg`](../c-runtime-library/reference/free-dbg.md) | Free a block of memory on the heap |
-| [`_fullpath_dbg`, `_wfullpath_dbg`](../c-runtime-library/reference/fullpath-dbg-wfullpath-dbg.md) | Create an absolute or full path name for the specified relative path name, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
-| [`_getcwd_dbg`, `_wgetcwd_dbg`](../c-runtime-library/reference/getcwd-dbg-wgetcwd-dbg.md) | Get the current working directory, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
-| [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) | Allocate a block of memory on the heap with extra space for a debugging header and overwrite buffers |
-| [`_msize_dbg`](../c-runtime-library/reference/msize-dbg.md) | Calculate the size of a block of memory on the heap |
-| [`_realloc_dbg`](../c-runtime-library/reference/realloc-dbg.md) | Reallocate a specified block of memory on the heap by moving and/or resizing the block |
-| [`_strdup_dbg`, `_wcsdup_dbg`](../c-runtime-library/reference/strdup-dbg-wcsdup-dbg.md) | Duplicates a string, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
-| [`_tempnam_dbg`, `_wtempnam_dbg`](../c-runtime-library/reference/tempnam-dbg-wtempnam-dbg.md) | Generate names you can use to create temporary files, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
+| [`_ASSERT`](./reference/assert-asserte-assert-expr-macros.md) | Evaluate an expression and generates a debug report when the result is FALSE |
+| [`_ASSERTE`](./reference/assert-asserte-assert-expr-macros.md) | Similar to **`_ASSERT`**, but includes the failed expression in the generated report |
+| [`_CrtCheckMemory`](./reference/crtcheckmemory.md) | Confirm the integrity of the memory blocks allocated on the debug heap |
+| [`_CrtDbgBreak`](./reference/crtdbgbreak.md) | Sets a break point. |
+| [`_CrtDbgReport`, `_CrtDbgReportW`](./reference/crtdbgreport-crtdbgreportw.md) | Generate a debug report with a user message and send the report to three possible destinations |
+| [`_CrtDoForAllClientObjects`](./reference/crtdoforallclientobjects.md) | Call an application-supplied function for all `_CLIENT_BLOCK` types on the heap |
+| [`_CrtDumpMemoryLeaks`](./reference/crtdumpmemoryleaks.md) | Dump all of the memory blocks on the debug heap when a significant memory leak has occurred |
+| [`_CrtIsMemoryBlock`](./reference/crtismemoryblock.md) | Verify that a specified memory block is located within the local heap and that it has a valid debug heap block type identifier |
+| [`_CrtIsValidHeapPointer`](./reference/crtisvalidheappointer.md) | Verifies that a specified pointer is in the local heap |
+| [`_CrtIsValidPointer`](./reference/crtisvalidpointer.md) | Verify that a specified memory range is valid for reading and writing |
+| [`_CrtMemCheckpoint`](./reference/crtmemcheckpoint.md) | Obtain the current state of the debug heap and store it in an application-supplied `_CrtMemState` structure |
+| [`_CrtMemDifference`](./reference/crtmemdifference.md) | Compare two memory states for significant differences and return the results |
+| [`_CrtMemDumpAllObjectsSince`](./reference/crtmemdumpallobjectssince.md) | Dump information about objects on the heap since a specified checkpoint was taken or from the start of program execution |
+| [`_CrtMemDumpStatistics`](./reference/crtmemdumpstatistics.md) | Dump the debug header information for a specified memory state in a user-readable form |
+| [`_CrtReportBlockType`](./reference/crtreportblocktype.md) | Returns the block type/subtype associated with a given debug heap block pointer. |
+| [`_CrtSetAllocHook`](./reference/crtsetallochook.md) | Install a client-defined allocation function by hooking it into the C run-time debug memory allocation process |
+| [`_CrtSetBreakAlloc`](./reference/crtsetbreakalloc.md) | Set a breakpoint on a specified object allocation order number |
+| [`_CrtSetDbgFlag`](./reference/crtsetdbgflag.md) | Retrieve or modify the state of the `_crtDbgFlag` flag to control the allocation behavior of the debug heap manager |
+| [`_CrtSetDumpClient`](./reference/crtsetdumpclient.md) | Install an application-defined function that is called every time a debug dump function is called to dump `_CLIENT_BLOCK` type memory blocks |
+| [`_CrtSetReportFile`](./reference/crtsetreportfile.md) | Identify the file or stream to be used as a destination for a specific report type by `_CrtDbgReport` |
+| [`_CrtSetReportHook`](./reference/crtsetreporthook.md) | Install a client-defined reporting function by hooking it into the C run-time debug reporting process |
+| [`_CrtSetReportHook2`, `_CrtSetReportHookW2`](./reference/crtsetreporthook2-crtsetreporthookw2.md) | Installs or uninstalls a client-defined reporting function by hooking it into the C run-time debug reporting process. |
+| [`_CrtSetReportMode`](./reference/crtsetreportmode.md) | Specify the general destination(s) for a specific report type generated by `_CrtDbgReport` |
+| [`_RPT[0,1,2,3,4]`](./reference/rpt-rptf-rptw-rptfw-macros.md) | Track the application's progress by generating a debug report by calling `_CrtDbgReport` with a format string and a variable number of arguments. Provides no source file and line number information. |
+| [`_RPTF[0,1,2,3,4]`](./reference/rpt-rptf-rptw-rptfw-macros.md) | Similar to the `_RPTn` macros, but provides the source file name and line number where the report request originated |
+| [`_calloc_dbg`](./reference/calloc-dbg.md) | Allocate a specified number of memory blocks on the heap with extra space for a debugging header and overwrite buffers |
+| [`_expand_dbg`](./reference/expand-dbg.md) | Resize a specified block of memory on the heap by expanding or contracting the block |
+| [`_free_dbg`](./reference/free-dbg.md) | Free a block of memory on the heap |
+| [`_fullpath_dbg`, `_wfullpath_dbg`](./reference/fullpath-dbg-wfullpath-dbg.md) | Create an absolute or full path name for the specified relative path name, using [`_malloc_dbg`](./reference/malloc-dbg.md) to allocate memory. |
+| [`_getcwd_dbg`, `_wgetcwd_dbg`](./reference/getcwd-dbg-wgetcwd-dbg.md) | Get the current working directory, using [`_malloc_dbg`](./reference/malloc-dbg.md) to allocate memory. |
+| [`_malloc_dbg`](./reference/malloc-dbg.md) | Allocate a block of memory on the heap with extra space for a debugging header and overwrite buffers |
+| [`_msize_dbg`](./reference/msize-dbg.md) | Calculate the size of a block of memory on the heap |
+| [`_realloc_dbg`](./reference/realloc-dbg.md) | Reallocate a specified block of memory on the heap by moving and/or resizing the block |
+| [`_strdup_dbg`, `_wcsdup_dbg`](./reference/strdup-dbg-wcsdup-dbg.md) | Duplicates a string, using [`_malloc_dbg`](./reference/malloc-dbg.md) to allocate memory. |
+| [`_tempnam_dbg`, `_wtempnam_dbg`](./reference/tempnam-dbg-wtempnam-dbg.md) | Generate names you can use to create temporary files, using [`_malloc_dbg`](./reference/malloc-dbg.md) to allocate memory. |
## C runtime routines that aren't available in source code form
@@ -66,59 +66,59 @@ The debugger can be used to step through the source code for most of the C runti
:::row:::
:::column span="":::
- [`acos`](../c-runtime-library/reference/acos-acosf-acosl.md)\
- [`acosh`](../c-runtime-library/reference/acosh-acoshf-acoshl.md)\
- [`asin`](../c-runtime-library/reference/asin-asinf-asinl.md)\
- [`asinh`](../c-runtime-library/reference/asinh-asinhf-asinhl.md)\
- [`atan`, `atan2`](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)\
- [`atanh`](../c-runtime-library/reference/atanh-atanhf-atanhl.md)\
- [`Bessel functions`](../c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)\
- [`_cabs`](../c-runtime-library/reference/cabs.md)\
- [`ceil`](../c-runtime-library/reference/ceil-ceilf-ceill.md)\
- [`_chgsign`](../c-runtime-library/reference/chgsign-chgsignf-chgsignl.md)\
- [`_clear87`, `_clearfp`](../c-runtime-library/reference/clear87-clearfp.md)\
- [`_control87`, `_controlfp`](../c-runtime-library/reference/control87-controlfp-control87-2.md)
+ [`acos`](./reference/acos-acosf-acosl.md)\
+ [`acosh`](./reference/acosh-acoshf-acoshl.md)\
+ [`asin`](./reference/asin-asinf-asinl.md)\
+ [`asinh`](./reference/asinh-asinhf-asinhl.md)\
+ [`atan`, `atan2`](./reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)\
+ [`atanh`](./reference/atanh-atanhf-atanhl.md)\
+ [`Bessel functions`](./reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)\
+ [`_cabs`](./reference/cabs.md)\
+ [`ceil`](./reference/ceil-ceilf-ceill.md)\
+ [`_chgsign`](./reference/chgsign-chgsignf-chgsignl.md)\
+ [`_clear87`, `_clearfp`](./reference/clear87-clearfp.md)\
+ [`_control87`, `_controlfp`](./reference/control87-controlfp-control87-2.md)
:::column-end:::
:::column span="":::
- [`copysign`](../c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)\
- [`cos`](../c-runtime-library/reference/cos-cosf-cosl.md)\
- [`cosh`](../c-runtime-library/reference/cosh-coshf-coshl.md)\
- [`Exp`](../c-runtime-library/reference/exp-expf.md)\
- [`fabs`](../c-runtime-library/reference/fabs-fabsf-fabsl.md)\
- [`_finite`](../c-runtime-library/reference/finite-finitef.md)\
- [`floor`](../c-runtime-library/reference/floor-floorf-floorl.md)\
- [`fmod`](../c-runtime-library/reference/fmod-fmodf.md)\
- [`_fpclass`](../c-runtime-library/reference/fpclass-fpclassf.md)\
- [`_fpieee_flt`](../c-runtime-library/reference/fpieee-flt.md)\
- [`_fpreset`](../c-runtime-library/reference/fpreset.md)\
- [`frexp`](../c-runtime-library/reference/frexp.md)
+ [`copysign`](./reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)\
+ [`cos`](./reference/cos-cosf-cosl.md)\
+ [`cosh`](./reference/cosh-coshf-coshl.md)\
+ [`Exp`](./reference/exp-expf.md)\
+ [`fabs`](./reference/fabs-fabsf-fabsl.md)\
+ [`_finite`](./reference/finite-finitef.md)\
+ [`floor`](./reference/floor-floorf-floorl.md)\
+ [`fmod`](./reference/fmod-fmodf.md)\
+ [`_fpclass`](./reference/fpclass-fpclassf.md)\
+ [`_fpieee_flt`](./reference/fpieee-flt.md)\
+ [`_fpreset`](./reference/fpreset.md)\
+ [`frexp`](./reference/frexp.md)
:::column-end:::
:::column span="":::
- [`_hypot`](../c-runtime-library/reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)\
- [`_isnan`](../c-runtime-library/reference/isnan-isnan-isnanf.md)\
- [`ldexp`](../c-runtime-library/reference/ldexp.md)\
- [`log`](../c-runtime-library/reference/log-logf-log10-log10f.md)\
- [`_logb`](../c-runtime-library/reference/logb-logbf-logbl-logb-logbf.md)\
- [`log10`](../c-runtime-library/reference/log-logf-log10-log10f.md)\
- [`longjmp`](../c-runtime-library/reference/longjmp.md)\
- [`_matherr`](../c-runtime-library/reference/matherr.md)\
- [`modf`](../c-runtime-library/reference/modf-modff-modfl.md)\
- [`_nextafter`](../c-runtime-library/reference/nextafter-functions.md)\
- [`pow`](../c-runtime-library/reference/pow-powf-powl.md)\
- [`printf_s`](../c-runtime-library/reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
+ [`_hypot`](./reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)\
+ [`_isnan`](./reference/isnan-isnan-isnanf.md)\
+ [`ldexp`](./reference/ldexp.md)\
+ [`log`](./reference/log-logf-log10-log10f.md)\
+ [`_logb`](./reference/logb-logbf-logbl-logb-logbf.md)\
+ [`log10`](./reference/log-logf-log10-log10f.md)\
+ [`longjmp`](./reference/longjmp.md)\
+ [`_matherr`](./reference/matherr.md)\
+ [`modf`](./reference/modf-modff-modfl.md)\
+ [`_nextafter`](./reference/nextafter-functions.md)\
+ [`pow`](./reference/pow-powf-powl.md)\
+ [`printf_s`](./reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
:::column-end:::
:::column span="":::
- [`printf`](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)\
- [`_scalb`](../c-runtime-library/reference/scalb.md)\
- [`scanf_s`](../c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)\
- [`scanf`](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md)\
- [`setjmp`](../c-runtime-library/reference/setjmp.md)\
- [`sin`](../c-runtime-library/reference/sin-sinf-sinl.md)\
- [`sinh`](../c-runtime-library/reference/sinh-sinhf-sinhl.md)\
- [`sqrt`](../c-runtime-library/reference/sqrt-sqrtf-sqrtl.md)\
- [`_status87`, `_statusfp`](../c-runtime-library/reference/status87-statusfp-statusfp2.md)\
- [`tan`](../c-runtime-library/reference/tan-tanf-tanl.md)\
- [`tanh`](../c-runtime-library/reference/tanh-tanhf-tanhl.md)
+ [`printf`](./reference/printf-printf-l-wprintf-wprintf-l.md)\
+ [`_scalb`](./reference/scalb.md)\
+ [`scanf_s`](./reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)\
+ [`scanf`](./reference/scanf-scanf-l-wscanf-wscanf-l.md)\
+ [`setjmp`](./reference/setjmp.md)\
+ [`sin`](./reference/sin-sinf-sinl.md)\
+ [`sinh`](./reference/sinh-sinhf-sinhl.md)\
+ [`sqrt`](./reference/sqrt-sqrtf-sqrtl.md)\
+ [`_status87`, `_statusfp`](./reference/status87-statusfp-statusfp2.md)\
+ [`tan`](./reference/tan-tanf-tanl.md)\
+ [`tanh`](./reference/tanh-tanhf-tanhl.md)
:::column-end:::
:::row-end:::
@@ -130,10 +130,10 @@ Some C run-time functions and C++ operators behave differently when called from
:::row:::
:::column span="":::
- C [`abort`](../c-runtime-library/reference/abort.md) routine
+ C [`abort`](./reference/abort.md) routine
:::column-end:::
:::column span="":::
- C [`assert`](../c-runtime-library/reference/assert-macro-assert-wassert.md) routine
+ C [`assert`](./reference/assert-macro-assert-wassert.md) routine
:::column-end:::
:::column span="":::
C++ [`delete`](../cpp/delete-operator-cpp.md) operator
@@ -145,5 +145,5 @@ Some C run-time functions and C++ operators behave differently when called from
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
-[Run-Time Error Checking](../c-runtime-library/run-time-error-checking.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)\
+[Runtime error checking](./run-time-error-checking.md)
diff --git a/docs/c-runtime-library/debug.md b/docs/c-runtime-library/debug.md
index 2841c3d3c84..1a3468c5605 100644
--- a/docs/c-runtime-library/debug.md
+++ b/docs/c-runtime-library/debug.md
@@ -9,8 +9,8 @@ ms.assetid: a9901568-4846-4731-a404-399d947e2e7a
The compiler defines `_DEBUG` when you specify the /MTd or /MDd option. These options specify debug versions of the C run-time library.
-For more information, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+For more information, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
## See also
-[Control Flags](../c-runtime-library/control-flags.md)
+[Control flags](./control-flags.md)
diff --git a/docs/c-runtime-library/direction-flag.md b/docs/c-runtime-library/direction-flag.md
index f6d01e0885a..3eabde54165 100644
--- a/docs/c-runtime-library/direction-flag.md
+++ b/docs/c-runtime-library/direction-flag.md
@@ -6,7 +6,7 @@ ms.topic: "conceptual"
helpviewer_keywords: ["direction flag"]
ms.assetid: 0836b4af-dbbb-4ab8-a4b2-156f2e2099e2
---
-# Direction Flag
+# Direction flag
The direction flag is a CPU flag specific to all Intel x86-compatible CPUs. It applies to all assembly instructions that use the REP (repeat) prefix, such as MOVS, MOVSD, MOVSW, and others. Addresses provided to applicable instructions are increased if the direction flag is cleared.
@@ -16,4 +16,4 @@ The C Run-Time library functions, such as the string-manipulation and buffer-man
## See also
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/directory-control.md b/docs/c-runtime-library/directory-control.md
index c9c32901a1b..c7cdc03722d 100644
--- a/docs/c-runtime-library/directory-control.md
+++ b/docs/c-runtime-library/directory-control.md
@@ -5,27 +5,27 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["controls [C++], directory", "directory control routines"]
ms.assetid: a72dcf6f-f366-4d20-8850-0e19cc53ca18
---
-# Directory Control
+# Directory control
These routines access, modify, and obtain information about the directory structure.
-## Directory-Control Routines
+## Directory-control routines
|Routine|Use|
|-------------|---------|
-|[_chdir, _wchdir](../c-runtime-library/reference/chdir-wchdir.md)|Change current working directory|
-|[_chdrive](../c-runtime-library/reference/chdrive.md)|Change current drive|
-|[_getcwd, _wgetcwd](../c-runtime-library/reference/getcwd-wgetcwd.md)|Get current working directory for default drive|
-|[_getdcwd, _wgetdcwd](../c-runtime-library/reference/getdcwd-wgetdcwd.md)|Get current working directory for specified drive|
-|[_getdiskfree](../c-runtime-library/reference/getdiskfree.md)|Populates a **_diskfree_t** structure with information about a disk drive.|
-|[_getdrive](../c-runtime-library/reference/getdrive.md)|Get current (default) drive|
-|[_getdrives](../c-runtime-library/reference/getdrives.md)|Returns a bitmask representing the currently available disk drives.|
-|[_mkdir, _wmkdir](../c-runtime-library/reference/mkdir-wmkdir.md)|Make new directory|
-|[_rmdir, _wrmdir](../c-runtime-library/reference/rmdir-wrmdir.md)|Remove directory|
-|[_searchenv, _wsearchenv](../c-runtime-library/reference/searchenv-wsearchenv.md), [_searchenv_s, _wsearchenv_s](../c-runtime-library/reference/searchenv-s-wsearchenv-s.md)|Search for given file on specified paths|
+|[_chdir, _wchdir](./reference/chdir-wchdir.md)|Change current working directory|
+|[_chdrive](./reference/chdrive.md)|Change current drive|
+|[_getcwd, _wgetcwd](./reference/getcwd-wgetcwd.md)|Get current working directory for default drive|
+|[_getdcwd, _wgetdcwd](./reference/getdcwd-wgetdcwd.md)|Get current working directory for specified drive|
+|[_getdiskfree](./reference/getdiskfree.md)|Populates a **_diskfree_t** structure with information about a disk drive.|
+|[_getdrive](./reference/getdrive.md)|Get current (default) drive|
+|[_getdrives](./reference/getdrives.md)|Returns a bitmask representing the currently available disk drives.|
+|[_mkdir, _wmkdir](./reference/mkdir-wmkdir.md)|Make new directory|
+|[_rmdir, _wrmdir](./reference/rmdir-wrmdir.md)|Remove directory|
+|[_searchenv, _wsearchenv](./reference/searchenv-wsearchenv.md), [_searchenv_s, _wsearchenv_s](./reference/searchenv-s-wsearchenv-s.md)|Search for given file on specified paths|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
-[File Handling](../c-runtime-library/file-handling.md)
-[System Calls](../c-runtime-library/system-calls.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)\
+[File handling](./file-handling.md)\
+[System calls](./system-calls.md)
diff --git a/docs/c-runtime-library/dllonexit.md b/docs/c-runtime-library/dllonexit.md
index 6873c4293fb..52f81d83985 100644
--- a/docs/c-runtime-library/dllonexit.md
+++ b/docs/c-runtime-library/dllonexit.md
@@ -34,13 +34,13 @@ Pointer to a variable that points to the beginning of a list of functions to exe
*`pend`*
Pointer to variable that points to the end of a list of functions to execute on detach.
-## Return Value
+## Return value
If successful, a pointer to the user's function. Otherwise, a **NULL** pointer.
## Remarks
-The `__dllonexit` function is analogous to the [_onexit](../c-runtime-library/reference/onexit-onexit-m.md) function except that the global variables used by that function aren't visible to this routine. Instead of global variables, this function uses the `pbegin` and `pend` parameters.
+The `__dllonexit` function is analogous to the [_onexit](./reference/onexit-onexit-m.md) function except that the global variables used by that function aren't visible to this routine. Instead of global variables, this function uses the `pbegin` and `pend` parameters.
The `_onexit` and `atexit` functions in a DLL linked with MSVCRT.LIB must maintain their own atexit/_onexit list. This routine is the worker that gets called by such DLLs.
@@ -54,4 +54,4 @@ The `_PVFV` type is defined as `typedef void (__cdecl *_PVFV)(void)`.
## See also
-[_onexit, _onexit_m](../c-runtime-library/reference/onexit-onexit-m.md)
+[_onexit, _onexit_m](./reference/onexit-onexit-m.md)
diff --git a/docs/c-runtime-library/environ-wenviron.md b/docs/c-runtime-library/environ-wenviron.md
index b42a10eef23..d9fec3c92b6 100644
--- a/docs/c-runtime-library/environ-wenviron.md
+++ b/docs/c-runtime-library/environ-wenviron.md
@@ -8,7 +8,7 @@ ms.assetid: 7e639962-6536-47cd-8095-0cbe44a56e03
---
# _environ, _wenviron
-The `_environ` variable is a pointer to an array of pointers to the multibyte-character strings that constitute the process environment. This global variable has been deprecated for the more secure functional versions [getenv_s, _wgetenv_s](../c-runtime-library/reference/getenv-s-wgetenv-s.md) and [_putenv_s, _wputenv_s](../c-runtime-library/reference/putenv-s-wputenv-s.md), which should be used in place of the global variable. `_environ` is declared in Stdlib.h.
+The `_environ` variable is a pointer to an array of pointers to the multibyte-character strings that constitute the process environment. This global variable has been deprecated for the more secure functional versions [getenv_s, _wgetenv_s](./reference/getenv-s-wgetenv-s.md) and [_putenv_s, _wputenv_s](./reference/putenv-s-wputenv-s.md), which should be used in place of the global variable. `_environ` is declared in Stdlib.h.
> [!IMPORTANT]
> This API cannot be used in applications that execute in the Windows Runtime. For more information, see [CRT functions not supported in Universal Windows Platform apps](../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
@@ -62,8 +62,8 @@ Thus, in the multibyte environment, the value of "`env_var_z`" after the first i
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
-[getenv, _wgetenv](../c-runtime-library/reference/getenv-wgetenv.md)
-[getenv_s, _wgetenv_s](../c-runtime-library/reference/getenv-s-wgetenv-s.md)
-[_putenv, _wputenv](../c-runtime-library/reference/putenv-wputenv.md)
-[_putenv_s, _wputenv_s](../c-runtime-library/reference/putenv-s-wputenv-s.md)
+[Global variables](./global-variables.md)\
+[getenv, _wgetenv](./reference/getenv-wgetenv.md)\
+[getenv_s, _wgetenv_s](./reference/getenv-s-wgetenv-s.md)\
+[_putenv, _wputenv](./reference/putenv-wputenv.md)\
+[_putenv_s, _wputenv_s](./reference/putenv-s-wputenv-s.md)
diff --git a/docs/c-runtime-library/environmental-constants.md b/docs/c-runtime-library/environmental-constants.md
index be9ff13c096..445dad2fb7f 100644
--- a/docs/c-runtime-library/environmental-constants.md
+++ b/docs/c-runtime-library/environmental-constants.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["MAX_ENV constant", "_MAX_ENV constant"]
ms.assetid: 5224f540-231c-47aa-be9a-467efd1db281
---
-# Environmental Constants
+# Environmental constants
## Syntax
@@ -23,4 +23,4 @@ The `_MAX_ENV` constant defines the environmental length for strings.
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/eof-weof.md b/docs/c-runtime-library/eof-weof.md
index 2e3a8569e27..8cb6f312507 100644
--- a/docs/c-runtime-library/eof-weof.md
+++ b/docs/c-runtime-library/eof-weof.md
@@ -21,12 +21,12 @@ ms.assetid: a7150563-cdae-4cdf-9798-ad509990e505
## See also
-[putc, putwc](../c-runtime-library/reference/putc-putwc.md)
-[ungetc, ungetwc](../c-runtime-library/reference/ungetc-ungetwc.md)
-[scanf, _scanf_l, wscanf, _wscanf_l](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md)
-[fflush](../c-runtime-library/reference/fflush.md)
-[fclose, _fcloseall](../c-runtime-library/reference/fclose-fcloseall.md)
-[_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock](../c-runtime-library/reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)
-[_putch, _putwch](../c-runtime-library/reference/putch-putwch.md)
-[isascii, __isascii, iswascii](../c-runtime-library/reference/isascii-isascii-iswascii.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[putc, putwc](./reference/putc-putwc.md)\
+[ungetc, ungetwc](./reference/ungetc-ungetwc.md)\
+[scanf, _scanf_l, wscanf, _wscanf_l](./reference/scanf-scanf-l-wscanf-wscanf-l.md)\
+[fflush](./reference/fflush.md)\
+[fclose, _fcloseall](./reference/fclose-fcloseall.md)\
+[_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock](./reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)\
+[_putch, _putwch](./reference/putch-putwch.md)\
+[isascii, __isascii, iswascii](./reference/isascii-isascii-iswascii.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/errno-constants.md b/docs/c-runtime-library/errno-constants.md
index 8c07f0d852a..a2a079d4302 100644
--- a/docs/c-runtime-library/errno-constants.md
+++ b/docs/c-runtime-library/errno-constants.md
@@ -15,11 +15,11 @@ helpviewer_keywords: ["E2BIG constant", "EACCES constant", "EAGAIN constant", "E
## Remarks
-The **`errno`** constants are values assigned to [`errno`](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) for various error conditions.
+The **`errno`** constants are values assigned to [`errno`](./errno-doserrno-sys-errlist-and-sys-nerr.md) for various error conditions.
`ERRNO.H` contains the definitions of the **`errno`** values. However, not all the definitions given in `ERRNO.H` are used in 32-bit Windows operating systems. Some of the values in `ERRNO.H` are present to maintain compatibility with the UNIX family of operating systems. The **`errno`** values in a 32-bit Windows operating system are a subset of the values for **`errno`** in UNIX systems.
-The **`errno`** value isn't necessarily the same as the actual error code returned by a system call from the Windows operating system. To access the actual operating system error code, use the [`_doserrno`](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) variable, which contains this value.
+The **`errno`** value isn't necessarily the same as the actual error code returned by a system call from the Windows operating system. To access the actual operating system error code, use the [`_doserrno`](./errno-doserrno-sys-errlist-and-sys-nerr.md) variable, which contains this value.
The following **`errno`** values are supported:
@@ -64,7 +64,7 @@ The following **`errno`** values are supported:
| `ESPIPE` | Invalid seek. | 29 |
| `ESRCH` | No such process. | 3 |
| `EXDEV` | Cross-device link. An attempt was made to move a file to a different device (using the `rename` function). | 18 |
-| `STRUNCATE` | A string copy or concatenation resulted in a truncated string. See [`_TRUNCATE`](../c-runtime-library/truncate.md). | 80 |
+| `STRUNCATE` | A string copy or concatenation resulted in a truncated string. See [`_TRUNCATE`](./truncate.md). | 80 |
The following values are supported for compatibility with POSIX:
@@ -114,4 +114,4 @@ The following values are supported for compatibility with POSIX:
## See also
-[Global constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md b/docs/c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md
index 10039d1df5c..0ee14181c4a 100644
--- a/docs/c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md
+++ b/docs/c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md
@@ -29,17 +29,17 @@ Both `errno` and `_doserrno` are set to 0 by the runtime during program startup.
On an error, `errno` isn't necessarily set to the same value as the error code returned by a system call. For I/O operations, `_doserrno` stores the operating-system error-code equivalents of `errno` codes. For most non-I/O operations, the value of `_doserrno` isn't set.
-Each `errno` value is associated with an error message in `_sys_errlist` that can be printed by using one of the [`perror`](../c-runtime-library/reference/perror-wperror.md) functions, or stored in a string by using one of the [`strerror`](../c-runtime-library/reference/strerror-strerror-wcserror-wcserror.md) or [`strerror_s`](../c-runtime-library/reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md) functions. The `perror` and `strerror` functions use the `_sys_errlist` array and `_sys_nerr`—the number of elements in `_sys_errlist`—to process error information. Direct access to `_sys_errlist` and `_sys_nerr` is deprecated for code-security reasons. We recommend that you use the more secure, functional versions instead of the global macros, as shown here:
+Each `errno` value is associated with an error message in `_sys_errlist` that can be printed by using one of the [`perror`](./reference/perror-wperror.md) functions, or stored in a string by using one of the [`strerror`](./reference/strerror-strerror-wcserror-wcserror.md) or [`strerror_s`](./reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md) functions. The `perror` and `strerror` functions use the `_sys_errlist` array and `_sys_nerr`—the number of elements in `_sys_errlist`—to process error information. Direct access to `_sys_errlist` and `_sys_nerr` is deprecated for code-security reasons. We recommend that you use the more secure, functional versions instead of the global macros, as shown here:
|Global Macro|Functional Equivalents|
|------------------|----------------------------|
-|`_doserrno`|[`_get_doserrno`](../c-runtime-library/reference/get-doserrno.md), [`_set_doserrno`](../c-runtime-library/reference/set-doserrno.md)|
-|`errno`|[`_get_errno`](../c-runtime-library/reference/get-errno.md), [`_set_errno`](../c-runtime-library/reference/set-errno.md)|
-|`_sys_errlist`, `_sys_nerr`|[`strerror_s`, `_strerror_s`, `_wcserror_s`, `__wcserror_s`](../c-runtime-library/reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md)|
+|`_doserrno`|[`_get_doserrno`](./reference/get-doserrno.md), [`_set_doserrno`](./reference/set-doserrno.md)|
+|`errno`|[`_get_errno`](./reference/get-errno.md), [`_set_errno`](./reference/set-errno.md)|
+|`_sys_errlist`, `_sys_nerr`|[`strerror_s`, `_strerror_s`, `_wcserror_s`, `__wcserror_s`](./reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md)|
-Library math routines set `errno` by calling [`_matherr`](../c-runtime-library/reference/matherr.md). To handle math errors differently, write your own routine according to the `_matherr` reference description and name it `_matherr`.
+Library math routines set `errno` by calling [`_matherr`](./reference/matherr.md). To handle math errors differently, write your own routine according to the `_matherr` reference description and name it `_matherr`.
-All `errno` values are predefined constants in ``, and are UNIX-compatible. Only `ERANGE`, `EILSEQ`, and `EDOM` are specified in the ISO C99 standard. For a complete list, see [errno Constants](../c-runtime-library/errno-constants.md).
+All `errno` values are predefined constants in ``, and are UNIX-compatible. Only `ERANGE`, `EILSEQ`, and `EDOM` are specified in the ISO C99 standard. For a complete list, see [`errno` constants](./errno-constants.md).
## Requirements
@@ -48,16 +48,16 @@ All `errno` values are predefined constants in ``, and are UNIX-compati
|`errno`|`` or ``, `` or `` (C++)||
|`_doserrno`, `_sys_errlist`, `_sys_nerr`|``, `` (C++)|``, `` (C++)|
-The `_doserrno`, `_sys_errlist`, and `_sys_nerr` macros are Microsoft extensions. For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+The `_doserrno`, `_sys_errlist`, and `_sys_nerr` macros are Microsoft extensions. For more compatibility information, see [Compatibility](./compatibility.md).
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
-[`errno` Constants](../c-runtime-library/errno-constants.md)
-[`perror`, `_wperror`](../c-runtime-library/reference/perror-wperror.md)
-[`strerror`, `_strerror`, `_wcserror`, `__wcserror`](../c-runtime-library/reference/strerror-strerror-wcserror-wcserror.md)
-[`strerror_s`, `_strerror_s`, `_wcserror_s`, `__wcserror_s`](../c-runtime-library/reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md)
-[`_get_doserrno`](../c-runtime-library/reference/get-doserrno.md)
-[`_set_doserrno`](../c-runtime-library/reference/set-doserrno.md)
-[`_get_errno`](../c-runtime-library/reference/get-errno.md)
-[`_set_errno`](../c-runtime-library/reference/set-errno.md)
+[Global variables](./global-variables.md)\
+[`errno` constants](./errno-constants.md)\
+[`perror`, `_wperror`](./reference/perror-wperror.md)\
+[`strerror`, `_strerror`, `_wcserror`, `__wcserror`](./reference/strerror-strerror-wcserror-wcserror.md)\
+[`strerror_s`, `_strerror_s`, `_wcserror_s`, `__wcserror_s`](./reference/strerror-s-strerror-s-wcserror-s-wcserror-s.md)\
+[`_get_doserrno`](./reference/get-doserrno.md)\
+[`_set_doserrno`](./reference/set-doserrno.md)\
+[`_get_errno`](./reference/get-errno.md)\
+[`_set_errno`](./reference/set-errno.md)
diff --git a/docs/c-runtime-library/error-handling-crt.md b/docs/c-runtime-library/error-handling-crt.md
index e0316576265..97a04e30507 100644
--- a/docs/c-runtime-library/error-handling-crt.md
+++ b/docs/c-runtime-library/error-handling-crt.md
@@ -13,16 +13,16 @@ Use these routines to handle program errors.
|Routine|Use|
|-------------|---------|
-|[assert](../c-runtime-library/reference/assert-macro-assert-wassert.md) macro|Test for programming logic errors; available in both the release and debug versions of the run-time library.|
-|[_ASSERT, _ASSERTE](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) macros|Similar to **assert**, but only available in the debug versions of the run-time library.|
-|[clearerr](../c-runtime-library/reference/clearerr.md)|Reset error indicator. Calling **rewind** or closing a stream also resets the error indicator.|
-|[_eof](../c-runtime-library/reference/eof.md)|Check for end of file in low-level I/O.|
-|[feof](../c-runtime-library/reference/feof.md)|Test for end of file. End of file is also indicated when **_read** returns 0.|
-|[ferror](../c-runtime-library/reference/ferror.md)|Test for stream I/O errors.|
-|[_RPT, _RPTF](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md) macros|Generate a report similar to **printf**, but only available in the debug versions of the run-time library.|
-|[_set_error_mode](../c-runtime-library/reference/set-error-mode.md)|Modifies **__error_mode** to determine a non-default location where the C run time writes an error message for an error that will possibly end the program.|
-|[_set_purecall_handler](../c-runtime-library/reference/get-purecall-handler-set-purecall-handler.md)|Sets the handler for a pure virtual function call.|
+|[assert](./reference/assert-macro-assert-wassert.md) macro|Test for programming logic errors; available in both the release and debug versions of the run-time library.|
+|[_ASSERT, _ASSERTE](./reference/assert-asserte-assert-expr-macros.md) macros|Similar to **assert**, but only available in the debug versions of the run-time library.|
+|[clearerr](./reference/clearerr.md)|Reset error indicator. Calling **rewind** or closing a stream also resets the error indicator.|
+|[_eof](./reference/eof.md)|Check for end of file in low-level I/O.|
+|[feof](./reference/feof.md)|Test for end of file. End of file is also indicated when **_read** returns 0.|
+|[ferror](./reference/ferror.md)|Test for stream I/O errors.|
+|[_RPT, _RPTF](./reference/rpt-rptf-rptw-rptfw-macros.md) macros|Generate a report similar to **printf**, but only available in the debug versions of the run-time library.|
+|[_set_error_mode](./reference/set-error-mode.md)|Modifies **__error_mode** to determine a non-default location where the C run time writes an error message for an error that will possibly end the program.|
+|[_set_purecall_handler](./reference/get-purecall-handler-set-purecall-handler.md)|Sets the handler for a pure virtual function call.|
## See also
-- [Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+- [Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/except-handler3.md b/docs/c-runtime-library/except-handler3.md
index 43d8673d416..baed0d9ac46 100644
--- a/docs/c-runtime-library/except-handler3.md
+++ b/docs/c-runtime-library/except-handler3.md
@@ -39,7 +39,7 @@ int _except_handler3(
*dispatcher*
[in] Reserved.
-## Return Value
+## Return value
If an exception should be dismissed, returns `DISPOSITION_DISMISS`. If the exception should be passed up a level to the encapsulating exception handlers, returns `DISPOSITION_CONTINUE_SEARCH`.
@@ -49,4 +49,4 @@ If this method finds an appropriate exception handler, it passes the exception t
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)
diff --git a/docs/c-runtime-library/exception-handling-constants.md b/docs/c-runtime-library/exception-handling-constants.md
index 6bdc7e47489..27de90ff6ed 100644
--- a/docs/c-runtime-library/exception-handling-constants.md
+++ b/docs/c-runtime-library/exception-handling-constants.md
@@ -6,10 +6,10 @@ f1_keywords: ["EXCEPTION_CONTINUE_SEARCH", "EXCEPTION_CONTINUE_EXECUTION", "EXCE
helpviewer_keywords: ["exception handling, constants", "EXCEPTION_CONTINUE_SEARCH constant", "EXCEPTION_EXECUTE_HANDLER constant", "EXCEPTION_CONTINUE_EXECUTION constant", "EH constants"]
ms.assetid: e1870f41-be9e-46a3-a2ea-830dfbaa18fb
---
-# Exception-Handling Constants
+# Exception-handling constants
The constant `EXCEPTION_CONTINUE_SEARCH`, `EXCEPTION_CONTINUE_EXECUTION`, or `EXCEPTION_EXECUTE_HANDLER` is returned when an exception occurs during execution of the guarded section of a **try-except** statement. The return value determines how the exception is handled. For more information, see [try-except Statement](../cpp/try-except-statement.md) in the *C++ Language Reference*.
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/exception-handling-routines.md b/docs/c-runtime-library/exception-handling-routines.md
index f71e5eb1d75..6f22c24cc71 100644
--- a/docs/c-runtime-library/exception-handling-routines.md
+++ b/docs/c-runtime-library/exception-handling-routines.md
@@ -6,20 +6,20 @@ f1_keywords: ["c.exceptions"]
helpviewer_keywords: ["exception handling, routines"]
ms.assetid: f60548c6-850a-4e1e-a79b-a2a6a541ab62
---
-# Exception Handling Routines
+# Exception handling routines
Use the C++ exception-handling functions to recover from unexpected events during program execution.
-## Exception-Handling Functions
+## Exception-handling functions
|Function|Use|
|--------------|---------|
-|[_set_se_translator](../c-runtime-library/reference/set-se-translator.md)|Handle Win32 exceptions (C structured exceptions) as C++ typed exceptions|
-|[set_terminate](../c-runtime-library/reference/set-terminate-crt.md)|Install your own termination routine to be called by **terminate**|
-|[set_unexpected](../c-runtime-library/reference/set-unexpected-crt.md)|Install your own termination function to be called by **unexpected**|
-|[terminate](../c-runtime-library/reference/terminate-crt.md)|Called automatically under certain circumstances after exception is thrown. The **terminate** function calls **abort** or a function you specify using **set_terminate**|
-|[unexpected](../c-runtime-library/reference/unexpected-crt.md)|Calls **terminate** or a function you specify using **set_unexpected**. The **unexpected** function isn't used in current Microsoft C++ exception-handling implementation|
+|[_set_se_translator](./reference/set-se-translator.md)|Handle Win32 exceptions (C structured exceptions) as C++ typed exceptions|
+|[set_terminate](./reference/set-terminate-crt.md)|Install your own termination routine to be called by **terminate**|
+|[set_unexpected](./reference/set-unexpected-crt.md)|Install your own termination function to be called by **unexpected**|
+|[terminate](./reference/terminate-crt.md)|Called automatically under certain circumstances after exception is thrown. The **terminate** function calls **abort** or a function you specify using **set_terminate**|
+|[unexpected](./reference/unexpected-crt.md)|Calls **terminate** or a function you specify using **set_unexpected**. The **unexpected** function isn't used in current Microsoft C++ exception-handling implementation|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/exec-wexec-functions.md b/docs/c-runtime-library/exec-wexec-functions.md
index f4b7acae8aa..12f1ff7df86 100644
--- a/docs/c-runtime-library/exec-wexec-functions.md
+++ b/docs/c-runtime-library/exec-wexec-functions.md
@@ -14,18 +14,18 @@ Each function in this family loads and executes a new process:
:::row:::
:::column span="":::
- [`_execl`, `_wexecl`](../c-runtime-library/reference/execl-wexecl.md)\
- [`_execv`, `_wexecv`](../c-runtime-library/reference/execv-wexecv.md)\
- [`_execle`, `_wexecle`](../c-runtime-library/reference/execle-wexecle.md)
+ [`_execl`, `_wexecl`](./reference/execl-wexecl.md)\
+ [`_execv`, `_wexecv`](./reference/execv-wexecv.md)\
+ [`_execle`, `_wexecle`](./reference/execle-wexecle.md)
:::column-end:::
:::column span="":::
- [`_execve`, `_wexecve`](../c-runtime-library/reference/execve-wexecve.md)\
- [`_execlp`, `_wexeclp`](../c-runtime-library/reference/execlp-wexeclp.md)\
- [`_execvp`, `_wexecvp`](../c-runtime-library/reference/execvp-wexecvp.md)
+ [`_execve`, `_wexecve`](./reference/execve-wexecve.md)\
+ [`_execlp`, `_wexeclp`](./reference/execlp-wexeclp.md)\
+ [`_execvp`, `_wexecvp`](./reference/execvp-wexecvp.md)
:::column-end:::
:::column span="":::
- [`_execlpe`, `_wexeclpe`](../c-runtime-library/reference/execlpe-wexeclpe.md)\
- [`_execvpe`, `_wexecvpe`](../c-runtime-library/reference/execvpe-wexecvpe.md)
+ [`_execlpe`, `_wexeclpe`](./reference/execlpe-wexeclpe.md)\
+ [`_execvpe`, `_wexecvpe`](./reference/execvpe-wexecvpe.md)
:::column-end:::
:::row-end:::
@@ -42,7 +42,7 @@ The letter at the end of the function name determines the variation.
Each `_exec` function loads and executes a new process. All `_exec` functions use the same operating-system function ([`CreateProcess`](/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw)). The `_exec` functions automatically handle multibyte-character string arguments as appropriate, recognizing multibyte-character sequences according to the multibyte code page currently in use. The `_wexec` functions are wide-character versions of the `_exec` functions. The `_wexec` functions behave identically to their `_exec` family counterparts except that they don't handle multibyte-character strings.
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|`Tchar.h` routine|`_UNICODE and _MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -65,7 +65,7 @@ Parameters are passed to the new process by giving one or more pointers to chara
> [!IMPORTANT]
> Do not pass user input to `_exec` without explicitly checking its content. `_exec` will result in a call to [`CreateProcess`](/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw) so keep in mind that unqualified path names could lead to potential security vulnerabilities.
-The `_exec` functions validate their parameters. If expected parameters are null pointers, empty strings, or omitted, the `_exec` functions invoke the invalid parameter handler as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return -1. No new process is executed.
+The `_exec` functions validate their parameters. If expected parameters are null pointers, empty strings, or omitted, the `_exec` functions invoke the invalid parameter handler as described in [Parameter validation](./parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return -1. No new process is executed.
The argument pointers can be passed as separate parameters (in `_execl`, `_execle`, `_execlp`, and `_execlpe`) or as an array of pointers (in `_execv`, `_execve`, `_execvp`, and `_execvpe`). At least one parameter, `arg0`, must be passed to the new process; this parameter is `argv[0]` of the new process. Usually, this parameter is a copy of `cmdname`. (A different value doesn't produce an error.)
@@ -77,7 +77,7 @@ Files that are open when an `_exec` call is made remain open in the new process.
A program executed with one of the `_exec` functions is always loaded into memory as if the maximum allocation field in the program's .exe file header were set to the default value of `0xFFFFH`.
-The `_exec` calls don't preserve the translation modes of open files. If the new process must use files inherited from the calling process, use the [`_setmode`](../c-runtime-library/reference/setmode.md) routine to set the translation mode of these files to the desired mode. You must explicitly flush (using `fflush` or `_flushall`) or close any stream before the `_exec` function call. Signal settings aren't preserved in new processes that are created by calls to `_exec` routines. The signal settings are reset to the default in the new process.
+The `_exec` calls don't preserve the translation modes of open files. If the new process must use files inherited from the calling process, use the [`_setmode`](./reference/setmode.md) routine to set the translation mode of these files to the desired mode. You must explicitly flush (using `fflush` or `_flushall`) or close any stream before the `_exec` function call. Signal settings aren't preserved in new processes that are created by calls to `_exec` routines. The signal settings are reset to the default in the new process.
## Example
@@ -193,10 +193,10 @@ int main( int ac, char* av[] )
## See also
-[Process and Environment Control](../c-runtime-library/process-and-environment-control.md)\
-[`abort`](../c-runtime-library/reference/abort.md)\
-[`atexit`](../c-runtime-library/reference/atexit.md)\
-[`exit`, `_Exit`, `_exit`](../c-runtime-library/reference/exit-exit-exit.md)\
-[`_onexit`, `_onexit_m`](../c-runtime-library/reference/onexit-onexit-m.md)\
-[`_spawn`, `_wspawn` Functions](../c-runtime-library/spawn-wspawn-functions.md)\
-[`system`, `_wsystem`](../c-runtime-library/reference/system-wsystem.md)
+[Process and environment control](./process-and-environment-control.md)\
+[`abort`](./reference/abort.md)\
+[`atexit`](./reference/atexit.md)\
+[`exit`, `_Exit`, `_exit`](./reference/exit-exit-exit.md)\
+[`_onexit`, `_onexit_m`](./reference/onexit-onexit-m.md)\
+[`_spawn`, `_wspawn` Functions](./spawn-wspawn-functions.md)\
+[`system`, `_wsystem`](./reference/system-wsystem.md)
diff --git a/docs/c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md b/docs/c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md
index 2d530a44cb3..494f32b133e 100644
--- a/docs/c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md
+++ b/docs/c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md
@@ -39,7 +39,7 @@ int _execute_onexit_table(
*function*
[in] Pointer to a function to add to the `onexit` function table.
-## Return Value
+## Return value
If successful, the function returns 0. Otherwise, it returns a negative value.
@@ -61,10 +61,10 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|`_initialize_onexit_table function`, `_register_onexit_function`, `_execute_onexit_table`|C, C++: \|
-The `_initialize_onexit_table`, `_register_onexit_function`, and `_execute_onexit_table` functions are Microsoft-specific. For compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+The `_initialize_onexit_table`, `_register_onexit_function`, and `_execute_onexit_table` functions are Microsoft-specific. For compatibility information, see [Compatibility](./compatibility.md).
## See also
-[atexit](../c-runtime-library/reference/atexit.md)
-[exit, _Exit, _exit](../c-runtime-library/reference/exit-exit-exit.md)
-[_onexit, _onexit_m](../c-runtime-library/reference/onexit-onexit-m.md)
+[atexit](./reference/atexit.md)\
+[exit, _Exit, _exit](./reference/exit-exit-exit.md)\
+[_onexit, _onexit_m](./reference/onexit-onexit-m.md)
diff --git a/docs/c-runtime-library/exit-success-exit-failure.md b/docs/c-runtime-library/exit-success-exit-failure.md
index 4e49b15f438..813aa17c7d2 100644
--- a/docs/c-runtime-library/exit-success-exit-failure.md
+++ b/docs/c-runtime-library/exit-success-exit-failure.md
@@ -24,4 +24,4 @@ The `EXIT_SUCCESS` and `EXIT_FAILURE` constants are arguments for the [`exit`](r
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/file-attribute-constants.md b/docs/c-runtime-library/file-attribute-constants.md
index b2be1244fbf..a7fc3535e71 100644
--- a/docs/c-runtime-library/file-attribute-constants.md
+++ b/docs/c-runtime-library/file-attribute-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["A_HIDDEN", "_A_NORMAL", "_A_SUBDIR", "_A_RDONLY", "A_NORMAL", "A_
helpviewer_keywords: ["constants [C++], file attributes", "file attribute constants [C++]", "_A_SYSTEM constant", "files [C++], file attribute constants", "_A_SUBDIR constant", "_A_ARCH constant", "_A_NORMAL constant", "_A_HIDDEN constant", "_A_RDONLY constant"]
ms.assetid: 8dc8ccb9-99f5-446b-876c-7ebecc2f764f
---
-# File Attribute Constants
+# File attribute constants
## Syntax
@@ -33,5 +33,5 @@ Multiple constants can be combined with the OR operator (`|`).
## See also
-[Filename Search Functions](../c-runtime-library/filename-search-functions.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[Filename search functions](./filename-search-functions.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/file-constants.md b/docs/c-runtime-library/file-constants.md
index fabae25abbb..bce4b9edc1f 100644
--- a/docs/c-runtime-library/file-constants.md
+++ b/docs/c-runtime-library/file-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["_O_EXCL", "_O_RDWR", "_O_APPEND", "_O_RDONLY", "_O_TRUNC", "_O_CR
helpviewer_keywords: ["_O_RDWR constant", "O_EXCL constant", "O_RDWR constant", "O_WRONLY constant", "O_APPEND constant", "O_CREAT constant", "_O_CREAT constant", "_O_APPEND constant", "_O_EXCL constant", "O_TRUNC constant", "_O_RDONLY constant", "_O_TRUNC constant", "O_RDONLY constant", "_O_WRONLY constant"]
ms.assetid: c8fa5548-9ac2-4217-801d-eb45e86f2fa4
---
-# File Constants
+# File constants
## Syntax
@@ -32,6 +32,6 @@ The file constants are as follows:
## See also
-[_open, _wopen](../c-runtime-library/reference/open-wopen.md)
-[_sopen, _wsopen](../c-runtime-library/reference/sopen-wsopen.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_open, _wopen](./reference/open-wopen.md)\
+[_sopen, _wsopen](./reference/sopen-wsopen.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/file-handling.md b/docs/c-runtime-library/file-handling.md
index 5da950aeef3..9377aad6c99 100644
--- a/docs/c-runtime-library/file-handling.md
+++ b/docs/c-runtime-library/file-handling.md
@@ -6,26 +6,26 @@ f1_keywords: ["c.files"]
helpviewer_keywords: ["files [C++], handling", "files [C++], opening", "files [C++], manipulating"]
ms.assetid: 48119e2e-e94f-4602-b08b-b72440f731d8
---
-# File Handling
+# File handling
Use these routines to create, delete, and manipulate files and to set and check file-access permissions.
-The C run-time libraries have a 512 limit for the number of files that can be open at any one time. Attempting to open more than the maximum number of file descriptors or file streams causes program failure. Use [`_setmaxstdio`](../c-runtime-library/reference/setmaxstdio.md) to change this number.
+The C run-time libraries have a 512 limit for the number of files that can be open at any one time. Attempting to open more than the maximum number of file descriptors or file streams causes program failure. Use [`_setmaxstdio`](./reference/setmaxstdio.md) to change this number.
-## File-Handling Routines (File Descriptor)
+## File-handling routines (file descriptor)
These routines operate on files designated by a file descriptor.
|Routine|Use|
|-------------|---------|
-|[`_chsize`](../c-runtime-library/reference/chsize.md),[`_chsize_s`](../c-runtime-library/reference/chsize-s.md)|Change file size|
-|[`_filelength`, `_filelengthi64`](../c-runtime-library/reference/filelength-filelengthi64.md)|Get file length|
-|[`_fstat`, `_fstat32`, `_fstat64`, `_fstati64`, `_fstat32i64`, `_fstat64i32`](../c-runtime-library/reference/fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)|Get file-status information on descriptor|
-|[`_get_osfhandle`](../c-runtime-library/reference/get-osfhandle.md)|Return operating-system file handle associated with existing C run-time file descriptor|
-|[`_isatty`](../c-runtime-library/reference/isatty.md)|Check for character device|
-|[`_locking`](../c-runtime-library/reference/locking.md)|Lock areas of file|
-|[`_open_osfhandle`](../c-runtime-library/reference/open-osfhandle.md)|Associate C run-time file descriptor with existing operating-system file handle|
-|[`_setmode`](../c-runtime-library/reference/setmode.md)|Set file-translation mode|
+|[`_chsize`](./reference/chsize.md),[`_chsize_s`](./reference/chsize-s.md)|Change file size|
+|[`_filelength`, `_filelengthi64`](./reference/filelength-filelengthi64.md)|Get file length|
+|[`_fstat`, `_fstat32`, `_fstat64`, `_fstati64`, `_fstat32i64`, `_fstat64i32`](./reference/fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)|Get file-status information on descriptor|
+|[`_get_osfhandle`](./reference/get-osfhandle.md)|Return operating-system file handle associated with existing C run-time file descriptor|
+|[`_isatty`](./reference/isatty.md)|Check for character device|
+|[`_locking`](./reference/locking.md)|Lock areas of file|
+|[`_open_osfhandle`](./reference/open-osfhandle.md)|Associate C run-time file descriptor with existing operating-system file handle|
+|[`_setmode`](./reference/setmode.md)|Set file-translation mode|
## File-Handling Routines (Path or Filename)
@@ -33,17 +33,17 @@ These routines operate on files specified by a path or filename.
|Routine|Use|
|-------------|---------|
-|[`_access`, `_waccess`](../c-runtime-library/reference/access-waccess.md), [`_access_s`, `_waccess_s`](../c-runtime-library/reference/access-s-waccess-s.md)|Check file-permission setting|
-|[`_chmod`, `_wchmod`](../c-runtime-library/reference/chmod-wchmod.md)|Change file-permission setting|
-|[`_fullpath`, `_wfullpath`](../c-runtime-library/reference/fullpath-wfullpath.md)|Expand a relative path to its absolute path name|
-|[`_makepath`, `_wmakepath`](../c-runtime-library/reference/makepath-wmakepath.md), [`_makepath_s`, `_wmakepath_s`](../c-runtime-library/reference/makepath-s-wmakepath-s.md)|Merge path components into single, full path|
-|[`_mktemp`, `_wmktemp`](../c-runtime-library/reference/mktemp-wmktemp.md), [`_mktemp_s`, `_wmktemp_s`](../c-runtime-library/reference/mktemp-s-wmktemp-s.md)|Create unique filename|
-|[`remove`, `_wremove`](../c-runtime-library/reference/remove-wremove.md)|Delete file|
-|[`rename`, `_wrename`](../c-runtime-library/reference/rename-wrename.md)|Rename file|
-|[`_splitpath`, `_wsplitpath`](../c-runtime-library/reference/splitpath-wsplitpath.md), [`_splitpath_s`, `_wsplitpath_s`](../c-runtime-library/reference/splitpath-s-wsplitpath-s.md)|Parse path into components|
-|[`_stat`, `_stat64`, `_stati64`, `_wstat`, `_wstat64`, `_wstati64`](../c-runtime-library/reference/stat-functions.md)|Get file-status information on named file|
-|[`_umask`](../c-runtime-library/reference/umask.md), [`_umask_s`](../c-runtime-library/reference/umask-s.md)|Set default permission mask for new files created by program|
-|[`_unlink`, `_wunlink`](../c-runtime-library/reference/unlink-wunlink.md)|Delete file|
+|[`_access`, `_waccess`](./reference/access-waccess.md), [`_access_s`, `_waccess_s`](./reference/access-s-waccess-s.md)|Check file-permission setting|
+|[`_chmod`, `_wchmod`](./reference/chmod-wchmod.md)|Change file-permission setting|
+|[`_fullpath`, `_wfullpath`](./reference/fullpath-wfullpath.md)|Expand a relative path to its absolute path name|
+|[`_makepath`, `_wmakepath`](./reference/makepath-wmakepath.md), [`_makepath_s`, `_wmakepath_s`](./reference/makepath-s-wmakepath-s.md)|Merge path components into single, full path|
+|[`_mktemp`, `_wmktemp`](./reference/mktemp-wmktemp.md), [`_mktemp_s`, `_wmktemp_s`](./reference/mktemp-s-wmktemp-s.md)|Create unique filename|
+|[`remove`, `_wremove`](./reference/remove-wremove.md)|Delete file|
+|[`rename`, `_wrename`](./reference/rename-wrename.md)|Rename file|
+|[`_splitpath`, `_wsplitpath`](./reference/splitpath-wsplitpath.md), [`_splitpath_s`, `_wsplitpath_s`](./reference/splitpath-s-wsplitpath-s.md)|Parse path into components|
+|[`_stat`, `_stat64`, `_stati64`, `_wstat`, `_wstat64`, `_wstati64`](./reference/stat-functions.md)|Get file-status information on named file|
+|[`_umask`](./reference/umask.md), [`_umask_s`](./reference/umask-s.md)|Set default permission mask for new files created by program|
+|[`_unlink`, `_wunlink`](./reference/unlink-wunlink.md)|Delete file|
## File-Handling Routines (Open File)
@@ -51,21 +51,21 @@ These routines open files.
|Routine|Use|
|-------------|---------|
-|[`fopen`, `_wfopen`](../c-runtime-library/reference/fopen-wfopen.md), [`fopen_s`, `_wfopen_s`](../c-runtime-library/reference/fopen-s-wfopen-s.md)|Opens a file and returns a pointer to the open file.|
-|[`_fsopen`, `_wfsopen`](../c-runtime-library/reference/fsopen-wfsopen.md)|Open a stream with file sharing and returns a pointer to the open file.|
-|[`_open`, `_wopen`](../c-runtime-library/reference/open-wopen.md)|Opens a file and returns a file descriptor to the opened file.|
-|[`_sopen`, `_wsopen`](../c-runtime-library/reference/sopen-wsopen.md), [`_sopen_s`, `_wsopen_s`](../c-runtime-library/reference/sopen-s-wsopen-s.md)|Open a file with file sharing and returns a file descriptor to the open file.|
-|[`_pipe`](../c-runtime-library/reference/pipe.md)|Creates a pipe for reading and writing.|
-|[`freopen`, `_wfreopen`](../c-runtime-library/reference/freopen-wfreopen.md), [`freopen_s`, `_wfreopen_s`](../c-runtime-library/reference/freopen-s-wfreopen-s.md)|Reassign a file pointer.|
+|[`fopen`, `_wfopen`](./reference/fopen-wfopen.md), [`fopen_s`, `_wfopen_s`](./reference/fopen-s-wfopen-s.md)|Opens a file and returns a pointer to the open file.|
+|[`_fsopen`, `_wfsopen`](./reference/fsopen-wfsopen.md)|Open a stream with file sharing and returns a pointer to the open file.|
+|[`_open`, `_wopen`](./reference/open-wopen.md)|Opens a file and returns a file descriptor to the opened file.|
+|[`_sopen`, `_wsopen`](./reference/sopen-wsopen.md), [`_sopen_s`, `_wsopen_s`](./reference/sopen-s-wsopen-s.md)|Open a file with file sharing and returns a file descriptor to the open file.|
+|[`_pipe`](./reference/pipe.md)|Creates a pipe for reading and writing.|
+|[`freopen`, `_wfreopen`](./reference/freopen-wfreopen.md), [`freopen_s`, `_wfreopen_s`](./reference/freopen-s-wfreopen-s.md)|Reassign a file pointer.|
These routines provide a way to change the representation of the file between a `FILE` structure, a file descriptor, and a Win32 file handle.
|Routine|Use|
|-------------|---------|
-|[`_fdopen`, `_wfdopen`](../c-runtime-library/reference/fdopen-wfdopen.md)|Associates a stream with a file that was previously opened for low-level I/O and returns a pointer to the open stream.|
-|[`_fileno`](../c-runtime-library/reference/fileno.md)|Gets the file descriptor associated with a stream.|
-|[`_get_osfhandle`](../c-runtime-library/reference/get-osfhandle.md)|Return operating-system file handle associated with existing C run-time file descriptor|
-|[`_open_osfhandle`](../c-runtime-library/reference/open-osfhandle.md)|Associates C run-time file descriptor with an existing operating-system file handle.|
+|[`_fdopen`, `_wfdopen`](./reference/fdopen-wfdopen.md)|Associates a stream with a file that was previously opened for low-level I/O and returns a pointer to the open stream.|
+|[`_fileno`](./reference/fileno.md)|Gets the file descriptor associated with a stream.|
+|[`_get_osfhandle`](./reference/get-osfhandle.md)|Return operating-system file handle associated with existing C run-time file descriptor|
+|[`_open_osfhandle`](./reference/open-osfhandle.md)|Associates C run-time file descriptor with an existing operating-system file handle.|
The following Win32 functions also open files and pipes:
@@ -77,6 +77,6 @@ The following Win32 functions also open files and pipes:
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
-[Directory Control](../c-runtime-library/directory-control.md)
-[System Calls](../c-runtime-library/system-calls.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)\
+[Directory control](./directory-control.md)\
+[System calls](./system-calls.md)
diff --git a/docs/c-runtime-library/file-permission-constants.md b/docs/c-runtime-library/file-permission-constants.md
index 3f5a9fb072d..9501ca6f181 100644
--- a/docs/c-runtime-library/file-permission-constants.md
+++ b/docs/c-runtime-library/file-permission-constants.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["S_IWRITE constant", "constants [C++], file attributes", "S_IREAD constant", "file permissions [C++]", "_S_IWRITE constant", "_S_IREAD constant"]
ms.assetid: 593cad33-31d1-44d2-8941-8af7d210c88c
---
-# File Permission Constants
+# File permission constants
## Syntax
@@ -35,8 +35,8 @@ When used as the `pmode` argument for `_umask`, the manifest constant sets the p
## See also
-[_open, _wopen](../c-runtime-library/reference/open-wopen.md)
-[_sopen, _wsopen](../c-runtime-library/reference/sopen-wsopen.md)
-[_umask](../c-runtime-library/reference/umask.md)
-[Standard Types](../c-runtime-library/standard-types.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_open, _wopen](./reference/open-wopen.md)\
+[_sopen, _wsopen](./reference/sopen-wsopen.md)\
+[_umask](./reference/umask.md)\
+[Standard types](./standard-types.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/file-read-write-access-constants.md b/docs/c-runtime-library/file-read-write-access-constants.md
index 3986b0fdc8b..54c50d38b85 100644
--- a/docs/c-runtime-library/file-read-write-access-constants.md
+++ b/docs/c-runtime-library/file-read-write-access-constants.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["read/write access constants", "write access constants", "access constants for file read/write", "constants [C++], file attributes", "file read/write access constants"]
ms.assetid: 56cd1d22-39a5-4fcf-bea2-7046d249e8ee
---
-# File Read/Write Access Constants
+# File read/write access constants
## Syntax
@@ -15,7 +15,7 @@ ms.assetid: 56cd1d22-39a5-4fcf-bea2-7046d249e8ee
## Remarks
-These constants specify the access type ("a", "r", or "w") requested for the file. Both the [translation mode](../c-runtime-library/file-translation-constants.md) ("b" or "t") and the [commit-to-disk mode](../c-runtime-library/commit-to-disk-constants.md) ("c" or "n") can be specified with the type of access.
+These constants specify the access type ("a", "r", or "w") requested for the file. Both the [translation mode](./file-translation-constants.md) ("b" or "t") and the [commit-to-disk mode](./commit-to-disk-constants.md) ("c" or "n") can be specified with the type of access.
The access types are described in this table:
@@ -32,9 +32,9 @@ When the "r+", "w+", or "a+" type is specified, both reading and writing are all
## See also
-[_fdopen, _wfdopen](../c-runtime-library/reference/fdopen-wfdopen.md)
-[fopen, _wfopen](../c-runtime-library/reference/fopen-wfopen.md)
-[freopen, _wfreopen](../c-runtime-library/reference/freopen-wfreopen.md)
-[_fsopen, _wfsopen](../c-runtime-library/reference/fsopen-wfsopen.md)
-[_popen, _wpopen](../c-runtime-library/reference/popen-wpopen.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_fdopen, _wfdopen](./reference/fdopen-wfdopen.md)\
+[fopen, _wfopen](./reference/fopen-wfopen.md)\
+[freopen, _wfreopen](./reference/freopen-wfreopen.md)\
+[_fsopen, _wfsopen](./reference/fsopen-wfsopen.md)\
+[_popen, _wpopen](./reference/popen-wpopen.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/file-translation-constants.md b/docs/c-runtime-library/file-translation-constants.md
index 2eff6d514dd..a4f0f115af6 100644
--- a/docs/c-runtime-library/file-translation-constants.md
+++ b/docs/c-runtime-library/file-translation-constants.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["translation constants", "file translation [C++], constants", "translation, file translation constants", "translation, constants", "constants [C++], file translation mode", "file translation [C++]"]
ms.assetid: 49b13bf3-442e-4d19-878b-bd1029fa666a
---
-# File Translation Constants
+# File translation constants
## Syntax
@@ -30,12 +30,12 @@ The translation modes are as follows:
Opens in binary (untranslated) mode. The above translations are suppressed.
-If **t** or **b** isn't given in *mode*, the translation mode is defined by the default-mode variable [_fmode](../c-runtime-library/fmode.md). For more information about using text and binary modes, see [Text and Binary Mode File I/O](../c-runtime-library/text-and-binary-mode-file-i-o.md).
+If **t** or **b** isn't given in *mode*, the translation mode is defined by the default-mode variable [_fmode](./fmode.md). For more information about using text and binary modes, see [Text and binary mode file I/O](./text-and-binary-mode-file-i-o.md).
## See also
-[_fdopen, _wfdopen](../c-runtime-library/reference/fdopen-wfdopen.md)
-[fopen, _wfopen](../c-runtime-library/reference/fopen-wfopen.md)
-[freopen, _wfreopen](../c-runtime-library/reference/freopen-wfreopen.md)
-[_fsopen, _wfsopen](../c-runtime-library/reference/fsopen-wfsopen.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_fdopen, _wfdopen](./reference/fdopen-wfdopen.md)\
+[fopen, _wfopen](./reference/fopen-wfopen.md)\
+[freopen, _wfreopen](./reference/freopen-wfreopen.md)\
+[_fsopen, _wfsopen](./reference/fsopen-wfsopen.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/filename-max.md b/docs/c-runtime-library/filename-max.md
index 15923f7b07c..3a3e437bff3 100644
--- a/docs/c-runtime-library/filename-max.md
+++ b/docs/c-runtime-library/filename-max.md
@@ -18,5 +18,5 @@ The maximum permissible length for a `filename` string buffer size.
## See also
-[Path Field Limits](../c-runtime-library/path-field-limits.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[Path field limits](./path-field-limits.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/filename-search-functions.md b/docs/c-runtime-library/filename-search-functions.md
index b1dd3833b28..fdc98ed11a3 100644
--- a/docs/c-runtime-library/filename-search-functions.md
+++ b/docs/c-runtime-library/filename-search-functions.md
@@ -7,15 +7,15 @@ api_type: ["DLLExport"]
topic_type: ["apiref"]
helpviewer_keywords: ["file names [C++], searching for", "_find function", "wfind function", "find function", "_wfind function"]
---
-# Filename Search Functions
+# Filename search functions
These functions search for and close searches for specified file names:
-- [`_findnext`, `_wfindnext`](../c-runtime-library/reference/findnext-functions.md)
+- [`_findnext`, `_wfindnext`](./reference/findnext-functions.md)
-- [`_findfirst`, `_wfindfirst`](../c-runtime-library/reference/findfirst-functions.md)
+- [`_findfirst`, `_wfindfirst`](./reference/findfirst-functions.md)
-- [`_findclose`](../c-runtime-library/reference/findclose.md)
+- [`_findclose`](./reference/findclose.md)
## Remarks
@@ -27,7 +27,7 @@ The functions return file information in a `_finddata_t` structure, which is def
File attribute.
`time_t time_create`\
-Time of file creation (`-1L` for FAT file systems). This time is stored in UTC format. To convert to the local time, use [`localtime_s`](../c-runtime-library/reference/localtime-s-localtime32-s-localtime64-s.md).
+Time of file creation (`-1L` for FAT file systems). This time is stored in UTC format. To convert to the local time, use [`localtime_s`](./reference/localtime-s-localtime32-s-localtime64-s.md).
`time_t time_access`\
Time of the last file access (`-1L` for FAT file systems). This time is stored in UTC format. To convert to the local time, use `localtime_s`.
@@ -139,4 +139,4 @@ N N N Y test.c Wed Feb 06 14:30:44 2002 312
## See also
-[System Calls](../c-runtime-library/system-calls.md)
+[System calls](./system-calls.md)
diff --git a/docs/c-runtime-library/files-and-streams.md b/docs/c-runtime-library/files-and-streams.md
index 20c3a524f16..f07f442c551 100644
--- a/docs/c-runtime-library/files-and-streams.md
+++ b/docs/c-runtime-library/files-and-streams.md
@@ -6,7 +6,7 @@ ms.topic: "conceptual"
helpviewer_keywords: ["files [C++]", "streams"]
ms.assetid: f61e712b-eac9-4c28-bb18-97c3786ef387
---
-# Files and Streams
+# Files and streams
A program communicates with the target environment by reading and writing files. A file can be:
@@ -20,7 +20,7 @@ The last two items are interactive files. Files are typically the principal mean
Before you can perform many of the operations on a file, the file must be opened. Opening a file associates it with a stream, a data structure within the Standard C Library that glosses over many differences among files of various kinds. The library maintains the state of each stream in an object of type FILE.
-The target environment opens three files before program startup. You can open a file by calling the library function [fopen, _wfopen](../c-runtime-library/reference/fopen-wfopen.md) with two arguments. (The `fopen` function has been deprecated, use [fopen_s, _wfopen_s](../c-runtime-library/reference/fopen-s-wfopen-s.md) instead.) The first argument is a filename. The second argument is a C string that specifies:
+The target environment opens three files before program startup. You can open a file by calling the library function [fopen, _wfopen](./reference/fopen-wfopen.md) with two arguments. (The `fopen` function has been deprecated, use [fopen_s, _wfopen_s](./reference/fopen-s-wfopen-s.md) instead.) The first argument is a filename. The second argument is a C string that specifies:
- Whether you intend to read data from the file or write data to it or both.
@@ -30,13 +30,13 @@ The target environment opens three files before program startup. You can open a
- Whether you want to manipulate a text stream or a binary stream.
-Once the file is successfully opened, you can then determine whether the stream is byte oriented (a byte stream) or wide oriented (a wide stream). A stream is initially unbound. Calling certain functions to operate on the stream makes it byte oriented, while certain other functions make it wide oriented. Once established, a stream maintains its orientation until it's closed by a call to [fclose](../c-runtime-library/reference/fclose-fcloseall.md) or [freopen](../c-runtime-library/reference/freopen-wfreopen.md).
+Once the file is successfully opened, you can then determine whether the stream is byte oriented (a byte stream) or wide oriented (a wide stream). A stream is initially unbound. Calling certain functions to operate on the stream makes it byte oriented, while certain other functions make it wide oriented. Once established, a stream maintains its orientation until it's closed by a call to [fclose](./reference/fclose-fcloseall.md) or [freopen](./reference/freopen-wfreopen.md).
© 1989-2001 by P.J. Plauger and Jim Brodie. All rights reserved.
## See also
-[Text and Binary Streams](../c-runtime-library/text-and-binary-streams.md)
-[Byte and Wide Streams](../c-runtime-library/byte-and-wide-streams.md)
-[Controlling Streams](../c-runtime-library/controlling-streams.md)
-[Stream States](../c-runtime-library/stream-states.md)
+[Text and binary streams](./text-and-binary-streams.md)\
+[Byte and wide streams](./byte-and-wide-streams.md)\
+[Controlling streams](./controlling-streams.md)\
+[Stream states](./stream-states.md)
diff --git a/docs/c-runtime-library/floating-point-support.md b/docs/c-runtime-library/floating-point-support.md
index cabb8abd9a6..79729d2ddc7 100644
--- a/docs/c-runtime-library/floating-point-support.md
+++ b/docs/c-runtime-library/floating-point-support.md
@@ -19,115 +19,115 @@ Previous 16-bit versions of Microsoft C/C++ and Microsoft Visual C++ supported t
|Routine|Use|
|-|-|
-[`abs`, `labs`, `llabs`, `_abs64`](../c-runtime-library/reference/abs-labs-llabs-abs64.md)|Computes the absolute value of an integer type
-[`acos`, `acosf`, `acosl`](../c-runtime-library/reference/acos-acosf-acosl.md)|Computes the arc cosine
-[`acosh`, `acoshf`, `acoshl`](../c-runtime-library/reference/acosh-acoshf-acoshl.md)|Computes the hyperbolic arc cosine
-[`asin`, `asinf`, `asinl`](../c-runtime-library/reference/asin-asinf-asinl.md)|Computes the arc sine
-[`asinh`, `asinhf`, `asinhl`](../c-runtime-library/reference/asinh-asinhf-asinhl.md)|Computes the hyperbolic arc sine
-[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)|Computes the arc tangent
-[`atanh`, `atanhf`, `atanhl`](../c-runtime-library/reference/atanh-atanhf-atanhl.md)|Computes the hyperbolic arc tangent
-[`_atodbl`, `_atodbl_l`](../c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Converts a locale-specific string to a **`double`**
-[`atof`, `_atof_l`](../c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md)|Converts a string to a **`double`**
-[`_atoflt`, `_atoflt_l`, `_atoldbl`, `_atoldbl_l`](../c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Converts a locale-specific string to a **`float`** or **`long double`**
-[`cbrt`, `cbrtf`, `cbrtl`](../c-runtime-library/reference/cbrt-cbrtf-cbrtl.md)|Computes the cube root
-[`ceil`, `ceilf`, `ceill`](../c-runtime-library/reference/ceil-ceilf-ceill.md)|Computes the ceiling
-[`_chgsign`, `_chgsignf`, `_chgsignl`](../c-runtime-library/reference/chgsign-chgsignf-chgsignl.md)|Computes the additive inverse
-[`_clear87`, `_clearfp`](../c-runtime-library/reference/clear87-clearfp.md)|Gets and clears the floating-point status register
-[`_control87`, `\__control87_2`, `_controlfp`](../c-runtime-library/reference/control87-controlfp-control87-2.md)|Gets and sets the floating-point control word
-[`_controlfp_s`](../c-runtime-library/reference/controlfp-s.md)|Secure version of **`_controlfp`**
-[`copysign`, `copysignf`, `copysignl`, `_copysign`, `_copysignf`, `_copysignl`](../c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)|Returns a value that has the magnitude of one argument and the sign of another
-[`cos`, `cosf`, `cosl`](../c-runtime-library/reference/cos-cosf-cosl.md)|Computes the sine
-[`cosh`, `coshf`, `coshl`](../c-runtime-library/reference/cosh-coshf-coshl.md)|Computes the hyperbolic sine
-[`div`, `ldiv`, `lldiv`](../c-runtime-library/reference/div.md)|Computes the quotient and the remainder of two integer values
-[`_ecvt`](../c-runtime-library/reference/ecvt.md), [`ecvt`](../c-runtime-library/reference/posix-ecvt.md)|Converts a **`double`** to a string
-[`_ecvt_s`](../c-runtime-library/reference/ecvt-s.md)|Secure version of **`_ecvt`**
-[`erf`, `erff`, `erfl`](../c-runtime-library/reference/erf-erff-erfl-erfc-erfcf-erfcl.md)|Computes the error function
-[`erfc`, `erfcf`, `erfcl`](../c-runtime-library/reference/erf-erff-erfl-erfc-erfcf-erfcl.md)|Computes the complementary error function
-[`exp`, `expf`, `expl`](../c-runtime-library/reference/exp-expf.md)|Computes the exponential *e*x
-[`exp2`, `exp2f`, `exp2l`](../c-runtime-library/reference/exp2-exp2f-exp2l.md)|Computes the exponential 2x
-[`expm1`, `expm1f`, `expm1l`](../c-runtime-library/reference/expm1-expm1f-expm1l.md)|Computes *e*x-1
-[`fabs`, `fabsf`, `fabsl`](../c-runtime-library/reference/fabs-fabsf-fabsl.md)|Computes the absolute value of a floating-point type
-[`_fcvt`](../c-runtime-library/reference/fcvt.md), [`fcvt`](../c-runtime-library/reference/posix-fcvt.md)|Converts a floating-point number to a string
-[_fcvt_s](../c-runtime-library/reference/fcvt-s.md)|Secure version of **`_fcvt`**
-[`fdim`, `fdimf`, `fdiml`](../c-runtime-library/reference/fdim-fdimf-fdiml.md)|Determines the positive difference between two values
-[`feclearexcept`](../c-runtime-library/reference/feclearexcept1.md)|Clears specified floating-point exceptions
-[`fegetenv`](../c-runtime-library/reference/fegetenv1.md)|Stores the current floating-point environment
-[`fegetexceptflag`](../c-runtime-library/reference/fegetexceptflag2.md)|Gets the specified floating-point exception status
-[`fegetround`](../c-runtime-library/reference/fegetround-fesetround2.md)|Gets the floating-point rounding mode
-[`feholdexcept`](../c-runtime-library/reference/feholdexcept2.md)|Sets non-stop floating-point exception mode
-[`feraiseexcept`](../c-runtime-library/reference/feraiseexcept.md)|Raises the specified floating-point exceptions
-[`fesetenv`](../c-runtime-library/reference/fesetenv1.md)|Sets the current floating-point environment
-[`fesetexceptflag`](../c-runtime-library/reference/fesetexceptflag2.md)|Sets the specified floating-point status flags
-[`fesetround`](../c-runtime-library/reference/fegetround-fesetround2.md)|Sets the specified floating-point rounding mode
-[`fetestexcept`](../c-runtime-library/reference/fetestexcept1.md)|Determines which floating-point exception status flags are set
-[`feupdateenv`](../c-runtime-library/reference/feupdateenv.md)|Restores a floating-point environment then raises previous exceptions
-[`floor`, `floorf`, `floorl`](../c-runtime-library/reference/floor-floorf-floorl.md)|Computes the floor
-[`fma`, `fmaf`, `fmal`](../c-runtime-library/reference/fma-fmaf-fmal.md)|Computes a fused multiply-add
-[`fmax`, `fmaxf`, `fmaxl`](../c-runtime-library/reference/fmax-fmaxf-fmaxl.md)|Computes the maximum of the arguments
-[`fmin`, `fminf`, `fminl`](../c-runtime-library/reference/fmin-fminf-fminl.md)|Computes the minimum of the arguments
-[`fmod`, `fmodf`, `fmodl`](../c-runtime-library/reference/fmod-fmodf.md)|Computes the floating-point remainder
-[`_fpclass`, `_fpclassf`](../c-runtime-library/reference/fpclass-fpclassf.md)|Returns the classification of a floating-point value
-[`fpclassify`](../c-runtime-library/reference/fpclassify.md)|Returns the classification of a floating-point value
-[`_fpieee_flt`](../c-runtime-library/reference/fpieee-flt.md)|Sets a handler for floating-point exceptions
-[`_fpreset`](../c-runtime-library/reference/fpreset.md)|Resets the floating-point environment
-[`frexp`, `frexpf`, `frexpl`](../c-runtime-library/reference/frexp.md)|Gets the mantissa and exponent of a floating-point number
-[`_gcvt`](../c-runtime-library/reference/gcvt.md), [`gcvt`](../c-runtime-library/reference/posix-gcvt.md)|Converts a floating-point number to a string
-[`_gcvt_s`](../c-runtime-library/reference/gcvt-s.md)|Secure version of **`_gcvt`**
-[`_get_FMA3_enable`, `_set_FMA3_enable`](../c-runtime-library/reference/get-fma3-enable-set-fma3-enable.md)|Gets or sets a flag for use of FMA3 instructions on x64
-[`hypot`, `hypotf`, `hypotl`, `_hypot`, `_hypotf`, `_hypotl`](../c-runtime-library/reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)|Computes the hypotenuse
-[`ilogb`, `ilogbf`, `ilogbl`](../c-runtime-library/reference/ilogb-ilogbf-ilogbl2.md)|Computes the integer base-2 exponent
-[`imaxabs`](../c-runtime-library/reference/imaxabs.md)|Computes the absolute value of an integer type
-[`imaxdiv`](../c-runtime-library/reference/imaxdiv.md)|Computes the quotient and the remainder of two integer values
-[`isfinite`, `_finite`, `_finitef`](../c-runtime-library/reference/finite-finitef.md)|Determines whether a value is finite
-[`isgreater`, `isgreaterequal`, `isless`, `islessequal`, `islessgreater`, `isunordered`](../c-runtime-library/reference/floating-point-ordering.md)|Compare the order of two floating point values
-[`isinf`](../c-runtime-library/reference/isinf.md)|Determines whether a floating-point value is infinite
-[`isnan`, `_isnan`, `_isnanf`](../c-runtime-library/reference/isnan-isnan-isnanf.md)|Tests a floating-point value for NaN
-[`isnormal`](../c-runtime-library/reference/isnormal.md)|Tests whether a floating-point value is both finite and not subnormal
-[`_j0`, `_j1`, `_jn`](../c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)|Computes the Bessel function
-[`ldexp`, `ldexpf`, `ldexpl`](../c-runtime-library/reference/ldexp.md)|Computes x*2n
-[`lgamma`, `lgammaf`, `lgammal`](../c-runtime-library/reference/lgamma-lgammaf-lgammal.md)|Computes the natural logarithm of the absolute value of the gamma function
-[`llrint`, `llrintf`, `llrintl`](../c-runtime-library/reference/lrint-lrintf-lrintl-llrint-llrintf-llrintl.md)|Rounds a floating-point value to the nearest **`long long`** value
-[`llround`, `llroundf`, `llroundl`](../c-runtime-library/reference/lround-lroundf-lroundl-llround-llroundf-llroundl.md)|Rounds a floating-point value to the nearest **`long long`** value
-[`log`, `logf`, `logl`, `log10`, `log10f`, `log10l`](../c-runtime-library/reference/log-logf-log10-log10f.md)|Computes the natural or base-10 logarithm
-[`log1p`, `log1pf`, `log1pl`](../c-runtime-library/reference/log1p-log1pf-log1pl2.md)|Computes the natural logarithm of 1+x
-[`log2`, `log2f`, `log2l`](../c-runtime-library/reference/log2-log2f-log2l.md)|Computes the base-2 logarithm
-[`logb`, `logbf`, `logbl`, `_logb`, `_logbf`](../c-runtime-library/reference/logb-logbf-logbl-logb-logbf.md)|Returns the exponent of a floating-point value
-[`lrint`, `lrintf`, `lrintl`](../c-runtime-library/reference/lrint-lrintf-lrintl-llrint-llrintf-llrintl.md)|Rounds a floating-point value to the nearest **`long`** value
-[`_lrotl`, `_lrotr`](../c-runtime-library/reference/lrotl-lrotr.md)|Rotates an integer value left or right
-[`lround`, `lroundf`, `lroundl`](../c-runtime-library/reference/lround-lroundf-lroundl-llround-llroundf-llroundl.md)|Rounds a floating-point value to the nearest **`long`** value
-[`_matherr`](../c-runtime-library/reference/matherr.md)|The default math error handler
-[`__max`](../c-runtime-library/reference/max.md)|Macro that returns the larger of two values
-[`__min`](../c-runtime-library/reference/min.md)|Macro that returns the smaller of two values
-[`modf`, `modff`, `modfl`](../c-runtime-library/reference/modf-modff-modfl.md)|Splits a floating-point value into fractional and integer parts
-[`nan`, `nanf`, `nanl`](../c-runtime-library/reference/nan-nanf-nanl.md)|Returns a quiet NaN value
-[`nearbyint`, `nearbyintf`, `nearbyintl`](../c-runtime-library/reference/nearbyint-nearbyintf-nearbyintl1.md)|Returns the rounded value
-[`nextafter`, `nextafterf`, `nextafterl`, `_nextafter`, `_nextafterf`](../c-runtime-library/reference/nextafter-functions.md)|Returns the next representable floating-point value
-[`nexttoward`, `nexttowardf`, `nexttowardl`](../c-runtime-library/reference/nextafter-functions.md)|Returns the next representable floating-point value
-[`pow`, `powf`, `powl`](../c-runtime-library/reference/pow-powf-powl.md)|Returns the value of *x**y*
-[`remainder`, `remainderf`, `remainderl`](../c-runtime-library/reference/remainder-remainderf-remainderl.md)|Computes the remainder of the quotient of two floating-point values
-[`remquo`, `remquof`, `remquol`](../c-runtime-library/reference/remquo-remquof-remquol.md)|Computes the remainder of two integer values
-[`rint`, `rintf`, `rintl`](../c-runtime-library/reference/rint-rintf-rintl.md)|Rounds a floating-point value
-[`_rotl`, `_rotl64`, `_rotr`, `_rotr64`](../c-runtime-library/reference/rotl-rotl64-rotr-rotr64.md)|Rotates bits in integer types
-[`round`, `roundf`, `roundl`](../c-runtime-library/reference/round-roundf-roundl.md)|Rounds a floating-point value
-[`_scalb`, `_scalbf`](../c-runtime-library/reference/scalb.md)|Scales argument by a power of 2
-[`scalbn`, `scalbnf`, `scalbnl`, `scalbln`, `scalblnf`, `scalblnl`](../c-runtime-library/reference/scalbn-scalbnf-scalbnl-scalbln-scalblnf-scalblnl.md)|Multiplies a floating-point number by an integral power of **`FLT_RADIX`**
-[`_set_controlfp`](../c-runtime-library/reference/set-controlfp.md)|Sets the floating-point control word
-[`_set_SSE2_enable`](../c-runtime-library/reference/set-sse2-enable.md)|Enables or disables SSE2 instructions
-[`signbit`](../c-runtime-library/reference/signbit.md)|Tests the sign bit of a floating-point value
-[`sin`, `sinf`, `sinl`](../c-runtime-library/reference/sin-sinf-sinl.md)|Computes the sine
-[`sinh`, `sinhf`, `sinhl`](../c-runtime-library/reference/sinh-sinhf-sinhl.md)|Computes the hyperbolic sine
-[`sqrt`, `sqrtf`, `sqrtl`](../c-runtime-library/reference/sqrt-sqrtf-sqrtl.md)|Computes the square root
-[`_status87`, `_statusfp`, `_statusfp2`](../c-runtime-library/reference/status87-statusfp-statusfp2.md)|Gets the floating-point status word
-[`strtof`, `_strtof_l`](../c-runtime-library/reference/strtof-strtof-l-wcstof-wcstof-l.md)|Converts a string to a **`float`**
-[`strtold`, `_strtold_l`](../c-runtime-library/reference/strtold-strtold-l-wcstold-wcstold-l.md)|Converts a string to a **`long double`**
-[`tan`, `tanf`, `tanl`](../c-runtime-library/reference/tan-tanf-tanl.md)|Computes the tangent
-[`tanh`, `tanhf`, `tanhl`](../c-runtime-library/reference/tanh-tanhf-tanhl.md)|Computes the hyperbolic tangent
-[`tgamma`, `tgammaf`, `tgammal`](../c-runtime-library/reference/tgamma-tgammaf-tgammal.md)|Computes the gamma function
-[`trunc`, `truncf`, `truncl`](../c-runtime-library/reference/trunc-truncf-truncl.md)|Truncates the fractional part
-[`_wtof`, `_wtof_l`](../c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md)|Converts a wide string to a **`double`**
-[`_y0`, `_y1`, `_yn`](../c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)|Computes the Bessel function
+[`abs`, `labs`, `llabs`, `_abs64`](./reference/abs-labs-llabs-abs64.md)|Computes the absolute value of an integer type
+[`acos`, `acosf`, `acosl`](./reference/acos-acosf-acosl.md)|Computes the arc cosine
+[`acosh`, `acoshf`, `acoshl`](./reference/acosh-acoshf-acoshl.md)|Computes the hyperbolic arc cosine
+[`asin`, `asinf`, `asinl`](./reference/asin-asinf-asinl.md)|Computes the arc sine
+[`asinh`, `asinhf`, `asinhl`](./reference/asinh-asinhf-asinhl.md)|Computes the hyperbolic arc sine
+[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](./reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)|Computes the arc tangent
+[`atanh`, `atanhf`, `atanhl`](./reference/atanh-atanhf-atanhl.md)|Computes the hyperbolic arc tangent
+[`_atodbl`, `_atodbl_l`](./reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Converts a locale-specific string to a **`double`**
+[`atof`, `_atof_l`](./reference/atof-atof-l-wtof-wtof-l.md)|Converts a string to a **`double`**
+[`_atoflt`, `_atoflt_l`, `_atoldbl`, `_atoldbl_l`](./reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Converts a locale-specific string to a **`float`** or **`long double`**
+[`cbrt`, `cbrtf`, `cbrtl`](./reference/cbrt-cbrtf-cbrtl.md)|Computes the cube root
+[`ceil`, `ceilf`, `ceill`](./reference/ceil-ceilf-ceill.md)|Computes the ceiling
+[`_chgsign`, `_chgsignf`, `_chgsignl`](./reference/chgsign-chgsignf-chgsignl.md)|Computes the additive inverse
+[`_clear87`, `_clearfp`](./reference/clear87-clearfp.md)|Gets and clears the floating-point status register
+[`_control87`, `\__control87_2`, `_controlfp`](./reference/control87-controlfp-control87-2.md)|Gets and sets the floating-point control word
+[`_controlfp_s`](./reference/controlfp-s.md)|Secure version of **`_controlfp`**
+[`copysign`, `copysignf`, `copysignl`, `_copysign`, `_copysignf`, `_copysignl`](./reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)|Returns a value that has the magnitude of one argument and the sign of another
+[`cos`, `cosf`, `cosl`](./reference/cos-cosf-cosl.md)|Computes the sine
+[`cosh`, `coshf`, `coshl`](./reference/cosh-coshf-coshl.md)|Computes the hyperbolic sine
+[`div`, `ldiv`, `lldiv`](./reference/div.md)|Computes the quotient and the remainder of two integer values
+[`_ecvt`](./reference/ecvt.md), [`ecvt`](./reference/posix-ecvt.md)|Converts a **`double`** to a string
+[`_ecvt_s`](./reference/ecvt-s.md)|Secure version of **`_ecvt`**
+[`erf`, `erff`, `erfl`](./reference/erf-erff-erfl-erfc-erfcf-erfcl.md)|Computes the error function
+[`erfc`, `erfcf`, `erfcl`](./reference/erf-erff-erfl-erfc-erfcf-erfcl.md)|Computes the complementary error function
+[`exp`, `expf`, `expl`](./reference/exp-expf.md)|Computes the exponential *e*x
+[`exp2`, `exp2f`, `exp2l`](./reference/exp2-exp2f-exp2l.md)|Computes the exponential 2x
+[`expm1`, `expm1f`, `expm1l`](./reference/expm1-expm1f-expm1l.md)|Computes *e*x-1
+[`fabs`, `fabsf`, `fabsl`](./reference/fabs-fabsf-fabsl.md)|Computes the absolute value of a floating-point type
+[`_fcvt`](./reference/fcvt.md), [`fcvt`](./reference/posix-fcvt.md)|Converts a floating-point number to a string
+[_fcvt_s](./reference/fcvt-s.md)|Secure version of **`_fcvt`**
+[`fdim`, `fdimf`, `fdiml`](./reference/fdim-fdimf-fdiml.md)|Determines the positive difference between two values
+[`feclearexcept`](./reference/feclearexcept1.md)|Clears specified floating-point exceptions
+[`fegetenv`](./reference/fegetenv1.md)|Stores the current floating-point environment
+[`fegetexceptflag`](./reference/fegetexceptflag2.md)|Gets the specified floating-point exception status
+[`fegetround`](./reference/fegetround-fesetround2.md)|Gets the floating-point rounding mode
+[`feholdexcept`](./reference/feholdexcept2.md)|Sets non-stop floating-point exception mode
+[`feraiseexcept`](./reference/feraiseexcept.md)|Raises the specified floating-point exceptions
+[`fesetenv`](./reference/fesetenv1.md)|Sets the current floating-point environment
+[`fesetexceptflag`](./reference/fesetexceptflag2.md)|Sets the specified floating-point status flags
+[`fesetround`](./reference/fegetround-fesetround2.md)|Sets the specified floating-point rounding mode
+[`fetestexcept`](./reference/fetestexcept1.md)|Determines which floating-point exception status flags are set
+[`feupdateenv`](./reference/feupdateenv.md)|Restores a floating-point environment then raises previous exceptions
+[`floor`, `floorf`, `floorl`](./reference/floor-floorf-floorl.md)|Computes the floor
+[`fma`, `fmaf`, `fmal`](./reference/fma-fmaf-fmal.md)|Computes a fused multiply-add
+[`fmax`, `fmaxf`, `fmaxl`](./reference/fmax-fmaxf-fmaxl.md)|Computes the maximum of the arguments
+[`fmin`, `fminf`, `fminl`](./reference/fmin-fminf-fminl.md)|Computes the minimum of the arguments
+[`fmod`, `fmodf`, `fmodl`](./reference/fmod-fmodf.md)|Computes the floating-point remainder
+[`_fpclass`, `_fpclassf`](./reference/fpclass-fpclassf.md)|Returns the classification of a floating-point value
+[`fpclassify`](./reference/fpclassify.md)|Returns the classification of a floating-point value
+[`_fpieee_flt`](./reference/fpieee-flt.md)|Sets a handler for floating-point exceptions
+[`_fpreset`](./reference/fpreset.md)|Resets the floating-point environment
+[`frexp`, `frexpf`, `frexpl`](./reference/frexp.md)|Gets the mantissa and exponent of a floating-point number
+[`_gcvt`](./reference/gcvt.md), [`gcvt`](./reference/posix-gcvt.md)|Converts a floating-point number to a string
+[`_gcvt_s`](./reference/gcvt-s.md)|Secure version of **`_gcvt`**
+[`_get_FMA3_enable`, `_set_FMA3_enable`](./reference/get-fma3-enable-set-fma3-enable.md)|Gets or sets a flag for use of FMA3 instructions on x64
+[`hypot`, `hypotf`, `hypotl`, `_hypot`, `_hypotf`, `_hypotl`](./reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)|Computes the hypotenuse
+[`ilogb`, `ilogbf`, `ilogbl`](./reference/ilogb-ilogbf-ilogbl2.md)|Computes the integer base-2 exponent
+[`imaxabs`](./reference/imaxabs.md)|Computes the absolute value of an integer type
+[`imaxdiv`](./reference/imaxdiv.md)|Computes the quotient and the remainder of two integer values
+[`isfinite`, `_finite`, `_finitef`](./reference/finite-finitef.md)|Determines whether a value is finite
+[`isgreater`, `isgreaterequal`, `isless`, `islessequal`, `islessgreater`, `isunordered`](./reference/floating-point-ordering.md)|Compare the order of two floating point values
+[`isinf`](./reference/isinf.md)|Determines whether a floating-point value is infinite
+[`isnan`, `_isnan`, `_isnanf`](./reference/isnan-isnan-isnanf.md)|Tests a floating-point value for NaN
+[`isnormal`](./reference/isnormal.md)|Tests whether a floating-point value is both finite and not subnormal
+[`_j0`, `_j1`, `_jn`](./reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)|Computes the Bessel function
+[`ldexp`, `ldexpf`, `ldexpl`](./reference/ldexp.md)|Computes x*2n
+[`lgamma`, `lgammaf`, `lgammal`](./reference/lgamma-lgammaf-lgammal.md)|Computes the natural logarithm of the absolute value of the gamma function
+[`llrint`, `llrintf`, `llrintl`](./reference/lrint-lrintf-lrintl-llrint-llrintf-llrintl.md)|Rounds a floating-point value to the nearest **`long long`** value
+[`llround`, `llroundf`, `llroundl`](./reference/lround-lroundf-lroundl-llround-llroundf-llroundl.md)|Rounds a floating-point value to the nearest **`long long`** value
+[`log`, `logf`, `logl`, `log10`, `log10f`, `log10l`](./reference/log-logf-log10-log10f.md)|Computes the natural or base-10 logarithm
+[`log1p`, `log1pf`, `log1pl`](./reference/log1p-log1pf-log1pl2.md)|Computes the natural logarithm of 1+x
+[`log2`, `log2f`, `log2l`](./reference/log2-log2f-log2l.md)|Computes the base-2 logarithm
+[`logb`, `logbf`, `logbl`, `_logb`, `_logbf`](./reference/logb-logbf-logbl-logb-logbf.md)|Returns the exponent of a floating-point value
+[`lrint`, `lrintf`, `lrintl`](./reference/lrint-lrintf-lrintl-llrint-llrintf-llrintl.md)|Rounds a floating-point value to the nearest **`long`** value
+[`_lrotl`, `_lrotr`](./reference/lrotl-lrotr.md)|Rotates an integer value left or right
+[`lround`, `lroundf`, `lroundl`](./reference/lround-lroundf-lroundl-llround-llroundf-llroundl.md)|Rounds a floating-point value to the nearest **`long`** value
+[`_matherr`](./reference/matherr.md)|The default math error handler
+[`__max`](./reference/max.md)|Macro that returns the larger of two values
+[`__min`](./reference/min.md)|Macro that returns the smaller of two values
+[`modf`, `modff`, `modfl`](./reference/modf-modff-modfl.md)|Splits a floating-point value into fractional and integer parts
+[`nan`, `nanf`, `nanl`](./reference/nan-nanf-nanl.md)|Returns a quiet NaN value
+[`nearbyint`, `nearbyintf`, `nearbyintl`](./reference/nearbyint-nearbyintf-nearbyintl1.md)|Returns the rounded value
+[`nextafter`, `nextafterf`, `nextafterl`, `_nextafter`, `_nextafterf`](./reference/nextafter-functions.md)|Returns the next representable floating-point value
+[`nexttoward`, `nexttowardf`, `nexttowardl`](./reference/nextafter-functions.md)|Returns the next representable floating-point value
+[`pow`, `powf`, `powl`](./reference/pow-powf-powl.md)|Returns the value of *x**y*
+[`remainder`, `remainderf`, `remainderl`](./reference/remainder-remainderf-remainderl.md)|Computes the remainder of the quotient of two floating-point values
+[`remquo`, `remquof`, `remquol`](./reference/remquo-remquof-remquol.md)|Computes the remainder of two integer values
+[`rint`, `rintf`, `rintl`](./reference/rint-rintf-rintl.md)|Rounds a floating-point value
+[`_rotl`, `_rotl64`, `_rotr`, `_rotr64`](./reference/rotl-rotl64-rotr-rotr64.md)|Rotates bits in integer types
+[`round`, `roundf`, `roundl`](./reference/round-roundf-roundl.md)|Rounds a floating-point value
+[`_scalb`, `_scalbf`](./reference/scalb.md)|Scales argument by a power of 2
+[`scalbn`, `scalbnf`, `scalbnl`, `scalbln`, `scalblnf`, `scalblnl`](./reference/scalbn-scalbnf-scalbnl-scalbln-scalblnf-scalblnl.md)|Multiplies a floating-point number by an integral power of **`FLT_RADIX`**
+[`_set_controlfp`](./reference/set-controlfp.md)|Sets the floating-point control word
+[`_set_SSE2_enable`](./reference/set-sse2-enable.md)|Enables or disables SSE2 instructions
+[`signbit`](./reference/signbit.md)|Tests the sign bit of a floating-point value
+[`sin`, `sinf`, `sinl`](./reference/sin-sinf-sinl.md)|Computes the sine
+[`sinh`, `sinhf`, `sinhl`](./reference/sinh-sinhf-sinhl.md)|Computes the hyperbolic sine
+[`sqrt`, `sqrtf`, `sqrtl`](./reference/sqrt-sqrtf-sqrtl.md)|Computes the square root
+[`_status87`, `_statusfp`, `_statusfp2`](./reference/status87-statusfp-statusfp2.md)|Gets the floating-point status word
+[`strtof`, `_strtof_l`](./reference/strtof-strtof-l-wcstof-wcstof-l.md)|Converts a string to a **`float`**
+[`strtold`, `_strtold_l`](./reference/strtold-strtold-l-wcstold-wcstold-l.md)|Converts a string to a **`long double`**
+[`tan`, `tanf`, `tanl`](./reference/tan-tanf-tanl.md)|Computes the tangent
+[`tanh`, `tanhf`, `tanhl`](./reference/tanh-tanhf-tanhl.md)|Computes the hyperbolic tangent
+[`tgamma`, `tgammaf`, `tgammal`](./reference/tgamma-tgammaf-tgammal.md)|Computes the gamma function
+[`trunc`, `truncf`, `truncl`](./reference/trunc-truncf-truncl.md)|Truncates the fractional part
+[`_wtof`, `_wtof_l`](./reference/atof-atof-l-wtof-wtof-l.md)|Converts a wide string to a **`double`**
+[`_y0`, `_y1`, `_yn`](./reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)|Computes the Bessel function
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)\
-[Floating-point primitives](../c-runtime-library/reference/floating-point-primitives.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)\
+[Floating-point primitives](./reference/floating-point-primitives.md)
diff --git a/docs/c-runtime-library/fmode.md b/docs/c-runtime-library/fmode.md
index a4ef62af8b2..ef3c092cfbf 100644
--- a/docs/c-runtime-library/fmode.md
+++ b/docs/c-runtime-library/fmode.md
@@ -8,7 +8,7 @@ ms.assetid: ac6df9eb-e5cc-4c54-aff3-373c21983118
---
# _fmode
-The `_fmode` variable sets the default file-translation mode for text or binary translation. This global variable has been deprecated for the more secure functional versions [_get_fmode](../c-runtime-library/reference/get-fmode.md) and [_set_fmode](../c-runtime-library/reference/set-fmode.md), which should be used in place of the global variable. It's declared in Stdlib.h as follows.
+The `_fmode` variable sets the default file-translation mode for text or binary translation. This global variable has been deprecated for the more secure functional versions [_get_fmode](./reference/get-fmode.md) and [_set_fmode](./reference/set-fmode.md), which should be used in place of the global variable. It's declared in Stdlib.h as follows.
## Syntax
@@ -30,6 +30,6 @@ You can change the value of `_fmode` in three ways:
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
-[_get_fmode](../c-runtime-library/reference/get-fmode.md)
-[_set_fmode](../c-runtime-library/reference/set-fmode.md)
+[Global variables](./global-variables.md)\
+[_get_fmode](./reference/get-fmode.md)\
+[_set_fmode](./reference/set-fmode.md)
diff --git a/docs/c-runtime-library/fopen-max-sys-open.md b/docs/c-runtime-library/fopen-max-sys-open.md
index 8974eec5a7f..9d45f93bf27 100644
--- a/docs/c-runtime-library/fopen-max-sys-open.md
+++ b/docs/c-runtime-library/fopen-max-sys-open.md
@@ -20,4 +20,4 @@ ms.assetid: 39cf5196-250a-459d-ae90-ce3d99f79039
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions.md b/docs/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions.md
index 50f9cc1e4bd..bf5994d104e 100644
--- a/docs/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions.md
+++ b/docs/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions.md
@@ -22,7 +22,7 @@ The `format` argument is a string that specifies the interpretation of the input
> **`%`**\[**`*`**]\[***`width`***]\[{**`h`**\|**`l`**\|**`ll`**\|**`I64`**\|**`L`**}]***`type`***
- Here, ***`width`***, **`h`**, **`l`**, **`ll`**, **`I64`**, and **`L`** represent a `scanf` [width specification](../c-runtime-library/scanf-width-specification.md), and ***`type`*** represents a `scanf` [type field character](../c-runtime-library/scanf-type-field-characters.md).
+ Here, ***`width`***, **`h`**, **`l`**, **`ll`**, **`I64`**, and **`L`** represent a `scanf` [width specification](./scanf-width-specification.md), and ***`type`*** represents a `scanf` [type field character](./scanf-type-field-characters.md).
The `format` argument string is read from left to right. Characters outside format specifications are expected to match the sequence of characters in the input stream. The matching characters in the input stream are scanned but not stored. If a character in the input stream conflicts with the format specification, `scanf` terminates, and the character is left in the input stream as if it hadn't been read.
@@ -36,11 +36,11 @@ The simplest format specification contains only the percent sign and a `type` ch
An asterisk (`*`) following the percent sign suppresses assignment of the next input field, which is interpreted as a field of the specified type. The field is scanned but not stored in an argument.
-The secure versions (the ones with the `_s` suffix) of the `scanf` family of functions require each parameter of type `c`, `C`, `s`, `S` or `[` to have a buffer size parameter passed immediately following. For more information on the secure versions of the `scanf` family of functions, see [`scanf_s`, `_scanf_s_l`, `wscanf_s`, `_wscanf_s_l`](../c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md).
+The secure versions (the ones with the `_s` suffix) of the `scanf` family of functions require each parameter of type `c`, `C`, `s`, `S` or `[` to have a buffer size parameter passed immediately following. For more information on the secure versions of the `scanf` family of functions, see [`scanf_s`, `_scanf_s_l`, `wscanf_s`, `_wscanf_s_l`](./reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md).
## See also
-[`scanf` Width specification](../c-runtime-library/scanf-width-specification.md)\
-[`scanf` Type field characters](../c-runtime-library/scanf-type-field-characters.md)\
-[`scanf`, `_scanf_l`, `wscanf`, `_wscanf_l`](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md)\
-[`scanf_s`, `_scanf_s_l`, `wscanf_s`, `_wscanf_s_l`](../c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)
+[`scanf` Width specification](./scanf-width-specification.md)\
+[`scanf` Type field characters](./scanf-type-field-characters.md)\
+[`scanf`, `_scanf_l`, `wscanf`, `_wscanf_l`](./reference/scanf-scanf-l-wscanf-wscanf-l.md)\
+[`scanf_s`, `_scanf_s_l`, `wscanf_s`, `_wscanf_s_l`](./reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)
diff --git a/docs/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md b/docs/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md
index 4a76d2ba734..3fcdd8d10c2 100644
--- a/docs/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md
+++ b/docs/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md
@@ -7,7 +7,7 @@ ms.assetid: 664b1717-2760-4c61-bd9c-22eee618d825
---
# Format specification syntax: `printf` and `wprintf` functions
-The various `printf` and `wprintf` functions take a format string and optional arguments and produce a formatted sequence of characters for output. The format string contains zero or more *directives*, which are either literal characters for output or encoded *conversion specifications* that describe how to format an argument in the output. This article describes the syntax used to encode conversion specifications in the format string. For a listing of these functions, see [Stream I/O](../c-runtime-library/stream-i-o.md).
+The various `printf` and `wprintf` functions take a format string and optional arguments and produce a formatted sequence of characters for output. The format string contains zero or more *directives*, which are either literal characters for output or encoded *conversion specifications* that describe how to format an argument in the output. This article describes the syntax used to encode conversion specifications in the format string. For a listing of these functions, see [Stream I/O](./stream-i-o.md).
A conversion specification consists of optional and required fields in this form:
@@ -15,7 +15,7 @@ A conversion specification consists of optional and required fields in this form
Each field of the conversion specification is a character or a number that signifies a particular format option or conversion specifier. The required *type* field specifies the kind of conversion to be applied to an argument. The optional *flags*, *width*, and *precision* fields control other format aspects such as leading spaces or zeroes, justification, and displayed precision. The *size* field specifies the size of the argument consumed and converted.
-A basic conversion specification contains only the percent sign and a *type* character. For example, `%s` specifies a string conversion. To print a percent-sign character, use `%%`. If a percent sign is followed by a character that has no meaning as a format field, the invalid parameter handler is invoked. For more information, see [Parameter Validation](../c-runtime-library/parameter-validation.md).
+A basic conversion specification contains only the percent sign and a *type* character. For example, `%s` specifies a string conversion. To print a percent-sign character, use `%%`. If a percent sign is followed by a character that has no meaning as a format field, the invalid parameter handler is invoked. For more information, see [Parameter validation](./parameter-validation.md).
> [!IMPORTANT]
> For security and stability, ensure that format conversion specification strings aren't end-user defined. For example, consider a program that prompts the user to enter a name and stores the input in a string variable that's named `user_name`. To print `user_name`, never do this:
@@ -53,7 +53,7 @@ Integer types such as `short`, `int`, `long`, `long long`, and their `unsigned`
|**`u`**|Integer|Unsigned decimal integer.|
|**`x`**|Integer|Unsigned hexadecimal integer; uses "`abcdef`".|
|**`X`**|Integer|Unsigned hexadecimal integer; uses "`ABCDEF`".|
-|**`e`**|Floating-point|Signed value that has the form [`-`]*d.dddd*`e`\[`+`\|`-`]*dd*\[*d*], where *d* is one decimal digit, *dddd* is one or more decimal digits depending on the specified precision, or six by default, and *dd*\[*d*] is two or three decimal digits depending on the [output format](../c-runtime-library/set-output-format.md) and size of the exponent.|
+|**`e`**|Floating-point|Signed value that has the form [`-`]*d.dddd*`e`\[`+`\|`-`]*dd*\[*d*], where *d* is one decimal digit, *dddd* is one or more decimal digits depending on the specified precision, or six by default, and *dd*\[*d*] is two or three decimal digits depending on the [output format](./set-output-format.md) and size of the exponent.|
|**`E`**|Floating-point|Identical to the **`e`** format except that **`E`** rather than **`e`** introduces the exponent.|
|**`f`**|Floating-point|Signed value that has the form [`-`]*dddd*`.`*dddd*, where *dddd* is one or more decimal digits. The number of digits before the decimal point depends on the magnitude of the number, and the number of digits after the decimal point depends on the requested precision, or six by default.|
|**`F`**|Floating-point|Identical to the **`f`** format except that infinity and nan output is capitalized.|
@@ -93,10 +93,10 @@ Any of these strings may have been prefixed by a sign, and may have been formatt
> If the argument that corresponds to `%s` or `%S`, or the `Buffer` field of the argument that corresponds to `%Z`, is a null pointer, "(null)" is displayed.
> [!NOTE]
-> In all exponential formats, the minimum number of digits of exponent to display is two, using three only if necessary. By using the [`_set_output_format`](../c-runtime-library/set-output-format.md) function, you can set the number of digits displayed to three for backward compatibility with code written for Visual Studio 2013 and before.
+> In all exponential formats, the minimum number of digits of exponent to display is two, using three only if necessary. By using the [`_set_output_format`](./set-output-format.md) function, you can set the number of digits displayed to three for backward compatibility with code written for Visual Studio 2013 and before.
> [!IMPORTANT]
-> Because the `%n` format is inherently insecure, it's disabled by default. If `%n` is encountered in a format string, the invalid parameter handler is invoked, as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). To enable `%n` support, see [`_set_printf_count_output`](../c-runtime-library/reference/set-printf-count-output.md).
+> Because the `%n` format is inherently insecure, it's disabled by default. If `%n` is encountered in a format string, the invalid parameter handler is invoked, as described in [Parameter validation](./parameter-validation.md). To enable `%n` support, see [`_set_printf_count_output`](./reference/set-printf-count-output.md).
## Flag directives
@@ -189,6 +189,6 @@ An **`hc`** or **`hC`** type specifier is synonymous with **`c`** in `printf` fu
## See also
-[`printf`, `_printf_l`, `wprintf`, `_wprintf_l`](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)\
-[`printf_s`, `_printf_s_l`, `wprintf_s`, `_wprintf_s_l`](../c-runtime-library/reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)\
-[`printf_p` Positional Parameters](../c-runtime-library/printf-p-positional-parameters.md)
+[`printf`, `_printf_l`, `wprintf`, `_wprintf_l`](./reference/printf-printf-l-wprintf-wprintf-l.md)\
+[`printf_s`, `_printf_s_l`, `wprintf_s`, `_wprintf_s_l`](./reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)\
+[`printf_p` Positional Parameters](./printf-p-positional-parameters.md)
diff --git a/docs/c-runtime-library/freeentry-usedentry.md b/docs/c-runtime-library/freeentry-usedentry.md
index 3fd34d29720..525dea06821 100644
--- a/docs/c-runtime-library/freeentry-usedentry.md
+++ b/docs/c-runtime-library/freeentry-usedentry.md
@@ -20,5 +20,5 @@ These constants represent values assigned by the `_heapwalk` routines to the **_
## See also
-[_heapwalk](../c-runtime-library/reference/heapwalk.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_heapwalk](./reference/heapwalk.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/fseek-lseek-constants.md b/docs/c-runtime-library/fseek-lseek-constants.md
index ca5be7933d5..07fc42cc660 100644
--- a/docs/c-runtime-library/fseek-lseek-constants.md
+++ b/docs/c-runtime-library/fseek-lseek-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["SEEK_END", "SEEK_SET", "SEEK_CUR"]
helpviewer_keywords: ["SEEK_SET constant", "SEEK_END constant", "SEEK_CUR constant"]
ms.assetid: 9deeb13e-5aa3-4c33-80d8-721c80a4de9d
---
-# fseek, _lseek Constants
+# fseek, _lseek constants
## Syntax
@@ -26,6 +26,6 @@ The *origin* argument specifies the initial position and can be one of the follo
## See also
-[fseek, _fseeki64](../c-runtime-library/reference/fseek-fseeki64.md)
-[_lseek, _lseeki64](../c-runtime-library/reference/lseek-lseeki64.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[fseek, _fseeki64](./reference/fseek-fseeki64.md)\
+[_lseek, _lseeki64](./reference/lseek-lseeki64.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/generic-text-mappings.md b/docs/c-runtime-library/generic-text-mappings.md
index 07529a797af..ada65a3cd9f 100644
--- a/docs/c-runtime-library/generic-text-mappings.md
+++ b/docs/c-runtime-library/generic-text-mappings.md
@@ -6,19 +6,19 @@ f1_keywords: ["c.mappings"]
helpviewer_keywords: ["generic-text mappings", "mappings, generic-text"]
ms.assetid: 1ed02e02-3649-42dd-a697-e1b4af25bb02
---
-# Generic-Text Mappings
+# Generic-text mappings
To simplify writing code for international markets, generic-text mappings are defined in TCHAR.H for:
-- [Data types](../c-runtime-library/data-type-mappings.md)
+- [Data types](./data-type-mappings.md)
-- [Constants and global variables](../c-runtime-library/constant-and-global-variable-mappings.md)
+- [Constants and global variables](./constant-and-global-variable-mappings.md)
-- [Routine mappings](../c-runtime-library/routine-mappings.md)
+- [Routine mappings](./routine-mappings.md)
-For more information, see [Using Generic-Text Mappings](../c-runtime-library/using-generic-text-mappings.md). Generic-text mappings are Microsoft extensions that aren't ANSI compatible.
+For more information, see [Using generic-text mappings](./using-generic-text-mappings.md). Generic-text mappings are Microsoft extensions that aren't ANSI compatible.
## See also
-[Data Type Mappings](../c-runtime-library/data-type-mappings.md)
-[A Sample Generic-Text Program](../c-runtime-library/a-sample-generic-text-program.md)
+[Data type mappings](./data-type-mappings.md)\
+[A sample generic-text program](./a-sample-generic-text-program.md)
diff --git a/docs/c-runtime-library/get-output-format.md b/docs/c-runtime-library/get-output-format.md
index d769851b725..7d3ffe2f62c 100644
--- a/docs/c-runtime-library/get-output-format.md
+++ b/docs/c-runtime-library/get-output-format.md
@@ -23,7 +23,7 @@ Gets the current value of the output format flag.
unsigned int _get_output_format();
```
-## Return Value
+## Return value
The current value of the output format flag.
@@ -37,11 +37,11 @@ The output format flag controls features of formatted I/O. The flag has two poss
|-------------|---------------------|
|`_get_output_format`|\|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md) in the Introduction.
+For more compatibility information, see [Compatibility](./compatibility.md) in the Introduction.
## See also
-[Format Specification Syntax: printf and wprintf Functions](../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md)
-[printf, _printf_l, wprintf, _wprintf_l](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)
-[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](../c-runtime-library/reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
-[_set_output_format](../c-runtime-library/set-output-format.md)
+[Format specification syntax: `printf` and `wprintf` functions](./format-specification-syntax-printf-and-wprintf-functions.md)\
+[printf, _printf_l, wprintf, _wprintf_l](./reference/printf-printf-l-wprintf-wprintf-l.md)\
+[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](./reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)\
+[_set_output_format](./set-output-format.md)
diff --git a/docs/c-runtime-library/getmainargs-wgetmainargs.md b/docs/c-runtime-library/getmainargs-wgetmainargs.md
index 5ae0fde5523..93631ec3ff9 100644
--- a/docs/c-runtime-library/getmainargs-wgetmainargs.md
+++ b/docs/c-runtime-library/getmainargs-wgetmainargs.md
@@ -49,7 +49,7 @@ An integer that if set to 1 expands the wildcards in the command line arguments,
`_StartInfo`
Other information to be passed to the CRT DLL.
-## Return Value
+## Return value
0 if successful; a negative value if unsuccessful.
diff --git a/docs/c-runtime-library/gets-getws.md b/docs/c-runtime-library/gets-getws.md
index 4783d86aac8..9c0c7f467e5 100644
--- a/docs/c-runtime-library/gets-getws.md
+++ b/docs/c-runtime-library/gets-getws.md
@@ -11,10 +11,10 @@ helpviewer_keywords: ["getws function", "getts function", "_getws function", "li
---
# `gets`, `_getws`
-Gets a line from the `stdin` stream. More secure versions of these functions are available; see [`gets_s`, `_getws_s`](../c-runtime-library/reference/gets-s-getws-s.md).
+Gets a line from the `stdin` stream. More secure versions of these functions are available; see [`gets_s`, `_getws_s`](./reference/gets-s-getws-s.md).
> [!IMPORTANT]
-> These functions are obsolete. Beginning in Visual Studio 2015, they are not available in the CRT. The secure versions of these functions, `gets_s` and `_getws_s`, are still available. For information on these alternative functions, see [`gets_s`, `_getws_s`](../c-runtime-library/reference/gets-s-getws-s.md).
+> These functions are obsolete. Beginning in Visual Studio 2015, they are not available in the CRT. The secure versions of these functions, `gets_s` and `_getws_s`, are still available. For information on these alternative functions, see [`gets_s`, `_getws_s`](./reference/gets-s-getws-s.md).
> [!IMPORTANT]
> This API cannot be used in applications that execute in the Windows Runtime. For more information, see [CRT functions not supported in Universal Windows Platform apps](../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
@@ -43,9 +43,9 @@ wchar_t *_getws(
*`buffer`*\
Storage location for input string.
-## Return Value
+## Return value
-Returns its argument if successful. A **`NULL`** pointer indicates an error or end-of-file condition. Use [`ferror`](../c-runtime-library/reference/ferror.md) or [`feof`](../c-runtime-library/reference/feof.md) to determine which one has occurred. If `buffer` is **`NULL`**, these functions invoke an invalid parameter handler, as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions return **`NULL`** and set `errno` to `EINVAL`.
+Returns its argument if successful. A **`NULL`** pointer indicates an error or end-of-file condition. Use [`ferror`](./reference/ferror.md) or [`feof`](./reference/feof.md) to determine which one has occurred. If `buffer` is **`NULL`**, these functions invoke an invalid parameter handler, as described in [Parameter validation](./parameter-validation.md). If execution is allowed to continue, these functions return **`NULL`** and set `errno` to `EINVAL`.
## Remarks
@@ -54,11 +54,11 @@ The `gets` function reads a line from the standard input stream `stdin` and stor
> [!IMPORTANT]
> Because there is no way to limit the number of characters read by `gets`, untrusted input can easily cause buffer overruns. Use `fgets` instead.
-In C++, these functions have template overloads that invoke the newer, secure counterparts of these functions. For more information, see [Secure Template Overloads](../c-runtime-library/secure-template-overloads.md).
+In C++, these functions have template overloads that invoke the newer, secure counterparts of these functions. For more information, see [Secure template overloads](./secure-template-overloads.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|------------------------------------|--------------------|-----------------------|
@@ -71,7 +71,7 @@ By default, this function's global state is scoped to the application. To change
|`gets`|``|
|`_getws`|`` or ``|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](./compatibility.md).
## Example
@@ -100,7 +100,7 @@ Hello there!The line entered was: Hello there!
## See also
-[Stream I/O](../c-runtime-library/stream-i-o.md)\
-[`fgets`, `fgetws`](../c-runtime-library/reference/fgets-fgetws.md)\
-[`fputs`, `fputws`](../c-runtime-library/reference/fputs-fputws.md)\
-[`puts`, `_putws`](../c-runtime-library/reference/puts-putws.md)
+[Stream I/O](./stream-i-o.md)\
+[`fgets`, `fgetws`](./reference/fgets-fgetws.md)\
+[`fputs`, `fputws`](./reference/fputs-fputws.md)\
+[`puts`, `_putws`](./reference/puts-putws.md)
diff --git a/docs/c-runtime-library/global-constants.md b/docs/c-runtime-library/global-constants.md
index 568385863af..1feefd8f3e5 100644
--- a/docs/c-runtime-library/global-constants.md
+++ b/docs/c-runtime-library/global-constants.md
@@ -6,61 +6,61 @@ f1_keywords: ["c.constants"]
helpviewer_keywords: ["global constants"]
ms.assetid: 778d86fd-3ca6-4d2b-b4c5-aee6dc1efe6b
---
-# Global Constants
+# Global constants
The Microsoft run-time library contains definitions for global constants used by library routines. To use these constants, include the appropriate header files as indicated in the description for each constant. The global constant articles follow in this section.
## Global constant articles
-[32-Bit Windows Time/Date Formats](../c-runtime-library/32-bit-windows-time-date-formats.md)\
-[`BUFSIZ`](../c-runtime-library/bufsiz.md)\
-[`CLOCKS_PER_SEC`, `CLK_TCK`](../c-runtime-library/clocks-per-sec-clk-tck.md)\
-[Commit-To-Disk Constants](../c-runtime-library/commit-to-disk-constants.md)\
-[`_CRT_DISABLE_PERFCRIT_LOCKS`](../c-runtime-library/crt-disable-perfcrit-locks.md)\
-[Data Type Constants](../c-runtime-library/data-type-constants.md)\
-[Environmental Constants](../c-runtime-library/environmental-constants.md)\
-[`EOF`, `WEOF`](../c-runtime-library/eof-weof.md)\
-[errno Constants](../c-runtime-library/errno-constants.md)\
-[Exception-Handling Constants](../c-runtime-library/exception-handling-constants.md)\
-[`EXIT_SUCCESS`, `EXIT_FAILURE`](../c-runtime-library/exit-success-exit-failure.md)\
-[File Attribute Constants](../c-runtime-library/file-attribute-constants.md)\
-[File Constants](../c-runtime-library/file-constants.md)\
-[File Permission Constants](../c-runtime-library/file-permission-constants.md)\
-[File Read/Write Access Constants](../c-runtime-library/file-read-write-access-constants.md)\
-[File Translation Constants](../c-runtime-library/file-translation-constants.md)\
-[`FILENAME_MAX`](../c-runtime-library/filename-max.md)\
-[`FOPEN_MAX`, `_SYS_OPEN`](../c-runtime-library/fopen-max-sys-open.md)\
-[`_FREEENTRY`, `_USEDENTRY`](../c-runtime-library/freeentry-usedentry.md)\
-[`fseek`, `_lseek` Constants](../c-runtime-library/fseek-lseek-constants.md)\
-[Heap Constants](../c-runtime-library/heap-constants.md)\
-[`_HEAP_MAXREQ`](../c-runtime-library/heap-maxreq.md)\
-[`HUGE_VAL`, `_HUGE`](../c-runtime-library/huge-val-huge.md)\
-[Locale Categories](../c-runtime-library/locale-categories.md)\
-[`_locking` Constants](../c-runtime-library/locking-constants.md)\
-[Math Constants](../c-runtime-library/math-constants.md)\
-[Math Error Constants](../c-runtime-library/math-error-constants.md)\
-[`_MAX_ENV`](../c-runtime-library/max-env.md)\
-[`MB_CUR_MAX`](../c-runtime-library/mb-cur-max.md)\
-[`NULL`](../c-runtime-library/null-crt.md)\
-[Path Field Limits](../c-runtime-library/path-field-limits.md)\
-[`RAND_MAX`](../c-runtime-library/rand-max.md)\
-[setvbuf Constants](../c-runtime-library/setvbuf-constants.md)\
-[Sharing Constants](../c-runtime-library/sharing-constants.md)\
-[`signal` Constants](../c-runtime-library/signal-constants.md)\
-[`signal` Action Constants](../c-runtime-library/signal-action-constants.md)\
-[`spawn` Constants](../c-runtime-library/spawn-constants.md)\
-[`_stat` Structure st_mode Field Constants](../c-runtime-library/stat-structure-st-mode-field-constants.md)\
-[`stdin`, `stdout`, `stderr`](../c-runtime-library/stdin-stdout-stderr.md)\
-[`TMP_MAX`, `L_tmpnam`](../c-runtime-library/tmp-max-l-tmpnam.md)\
-[Translation Mode Constants](../c-runtime-library/translation-mode-constants.md)\
-[`_TRUNCATE`](../c-runtime-library/truncate.md)\
-[`TZNAME_MAX`](../c-runtime-library/tzname-max.md)\
-[`_WAIT_CHILD`, `_WAIT_GRANDCHILD`](../c-runtime-library/wait-child-wait-grandchild.md)\
-[`WCHAR_MAX`](../c-runtime-library/wchar-max.md)\
-[`WCHAR_MIN`](../c-runtime-library/wchar-min.md)
+[32-Bit Windows Time/Date Formats](./32-bit-windows-time-date-formats.md)\
+[`BUFSIZ`](./bufsiz.md)\
+[`CLOCKS_PER_SEC`, `CLK_TCK`](./clocks-per-sec-clk-tck.md)\
+[Commit-to-disk constants](./commit-to-disk-constants.md)\
+[`_CRT_DISABLE_PERFCRIT_LOCKS`](./crt-disable-perfcrit-locks.md)\
+[Data type constants](./data-type-constants.md)\
+[Environmental constants](./environmental-constants.md)\
+[`EOF`, `WEOF`](./eof-weof.md)\
+[`errno` constants](./errno-constants.md)\
+[Exception-handling constants](./exception-handling-constants.md)\
+[`EXIT_SUCCESS`, `EXIT_FAILURE`](./exit-success-exit-failure.md)\
+[File attribute constants](./file-attribute-constants.md)\
+[File constants](./file-constants.md)\
+[File permission constants](./file-permission-constants.md)\
+[File read/write access constants](./file-read-write-access-constants.md)\
+[File translation constants](./file-translation-constants.md)\
+[`FILENAME_MAX`](./filename-max.md)\
+[`FOPEN_MAX`, `_SYS_OPEN`](./fopen-max-sys-open.md)\
+[`_FREEENTRY`, `_USEDENTRY`](./freeentry-usedentry.md)\
+[`fseek`, `_lseek` constants](./fseek-lseek-constants.md)\
+[Heap constants](./heap-constants.md)\
+[`_HEAP_MAXREQ`](./heap-maxreq.md)\
+[`HUGE_VAL`, `_HUGE`](./huge-val-huge.md)\
+[Locale categories](./locale-categories.md)\
+[`_locking` constants](./locking-constants.md)\
+[Math constants](./math-constants.md)\
+[Math error constants](./math-error-constants.md)\
+[`_MAX_ENV`](./max-env.md)\
+[`MB_CUR_MAX`](./mb-cur-max.md)\
+[`NULL`](./null-crt.md)\
+[Path field limits](./path-field-limits.md)\
+[`RAND_MAX`](./rand-max.md)\
+[`setvbuf` constants](./setvbuf-constants.md)\
+[Sharing constants](./sharing-constants.md)\
+[`signal` constants](./signal-constants.md)\
+[`signal` action constants](./signal-action-constants.md)\
+[`spawn` constants](./spawn-constants.md)\
+[`_stat` structure `st_mode` field constants](./stat-structure-st-mode-field-constants.md)\
+[`stdin`, `stdout`, `stderr`](./stdin-stdout-stderr.md)\
+[`TMP_MAX`, `L_tmpnam`](./tmp-max-l-tmpnam.md)\
+[Translation mode constants](./translation-mode-constants.md)\
+[`_TRUNCATE`](./truncate.md)\
+[`TZNAME_MAX`](./tzname-max.md)\
+[`_WAIT_CHILD`, `_WAIT_GRANDCHILD`](./wait-child-wait-grandchild.md)\
+[`WCHAR_MAX`](./wchar-max.md)\
+[`WCHAR_MIN`](./wchar-min.md)
## See also
-[C Run-Time Library Reference](../c-runtime-library/c-run-time-library-reference.md)
-[Global Variables](../c-runtime-library/global-variables.md)
-[Considerations for Writing Prolog/Epilog Code](../cpp/considerations-for-writing-prolog-epilog-code.md)
+[C runtime library reference](./c-run-time-library-reference.md)\
+[Global variables](./global-variables.md)\
+[Considerations for writing prolog/epilog code](../cpp/considerations-for-writing-prolog-epilog-code.md)
diff --git a/docs/c-runtime-library/global-variables-and-standard-types.md b/docs/c-runtime-library/global-variables-and-standard-types.md
index 6fcb49b0264..e8f156062ec 100644
--- a/docs/c-runtime-library/global-variables-and-standard-types.md
+++ b/docs/c-runtime-library/global-variables-and-standard-types.md
@@ -5,11 +5,11 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["global variables, CRT", "standard types, CRT", "standard types", "types [CRT]"]
ms.assetid: 8f8bad6f-2b78-4068-a0dc-77d58d978920
---
-# Global Variables and Standard Types
+# Global variables and standard types
-The Microsoft run-time library contains definitions for [global variables](../c-runtime-library/global-variables.md), [control flags](../c-runtime-library/control-flags.md), and [standard types](../c-runtime-library/standard-types.md) used by library routines. Access these variables, flags, and types by declaring them in your program or by including the appropriate header files.
+The Microsoft run-time library contains definitions for [global variables](./global-variables.md), [control flags](./control-flags.md), and [standard types](./standard-types.md) used by library routines. Access these variables, flags, and types by declaring them in your program or by including the appropriate header files.
## See also
-[C Run-Time Library Reference](../c-runtime-library/c-run-time-library-reference.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[C runtime library reference](./c-run-time-library-reference.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/global-variables.md b/docs/c-runtime-library/global-variables.md
index 319b9c3527f..0b1bf2b40c5 100644
--- a/docs/c-runtime-library/global-variables.md
+++ b/docs/c-runtime-library/global-variables.md
@@ -6,40 +6,40 @@ f1_keywords: ["c.variables"]
helpviewer_keywords: ["global variables", "variables, global", "global variables, Microsoft run-time library"]
ms.assetid: 01d1551c-2f0c-4f72-935c-6442caccf84f
---
-# Global Variables
+# Global variables
The Microsoft C run-time library provides the following global variables or macros. Several of these global variables or macros have been deprecated in favor of more-secure functional versions, which we recommend you use instead of the global variables.
|Variable|Description|
|--------------|-----------------|
-|[__argc, \__argv, \__wargv](../c-runtime-library/argc-argv-wargv.md)|Contains the command-line arguments.|
-|[_daylight, _dstbias, _timezone, and _tzname](../c-runtime-library/daylight-dstbias-timezone-and-tzname.md)|Deprecated. Instead, use `_get_daylight`, `_get_dstbias`, `_get_timezone`, and `_get_tzname`.
Adjusts for local time; used in some date and time functions.|
-|[errno, _doserrno, _sys_errlist, and _sys_nerr](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md)|Deprecated. Instead, use `_get_errno`, `_set_errno`, `_get_doserrno`, `_set_doserrno`, `perror` and `strerror`.
Stores error codes and related information.|
-|[_environ, _wenviron](../c-runtime-library/environ-wenviron.md)|Deprecated. Instead, use `getenv_s`, `_wgetenv_s`, `_dupenv_s`, `_wdupenv_s`, `_putenv_s`, and `_wputenv_s`.
Pointers to arrays of pointers to the process environment strings; initialized at startup.|
-|[_fmode](../c-runtime-library/fmode.md)|Deprecated. Instead, use `_get_fmode` or `_set_fmode`.
Sets default file-translation mode.|
-|[_iob](../c-runtime-library/iob.md)|Array of I/O control structures for the console, files, and devices.|
-|[_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](../c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md)|Contains information used by the character-classification functions.|
-|[_pgmptr, _wpgmptr](../c-runtime-library/pgmptr-wpgmptr.md)|Deprecated. Instead, use `_get_pgmptr` or `_get_wpgmptr`.
Based on how the program is invoked, the runtime initializes these values at program startup: either to the fully qualified or relative path of the program, the full program name, or the program name without its file name extension.|
+|[__argc, \__argv, \__wargv](./argc-argv-wargv.md)|Contains the command-line arguments.|
+|[_daylight, _dstbias, _timezone, and _tzname](./daylight-dstbias-timezone-and-tzname.md)|Deprecated. Instead, use `_get_daylight`, `_get_dstbias`, `_get_timezone`, and `_get_tzname`.
Adjusts for local time; used in some date and time functions.|
+|[errno, _doserrno, _sys_errlist, and _sys_nerr](./errno-doserrno-sys-errlist-and-sys-nerr.md)|Deprecated. Instead, use `_get_errno`, `_set_errno`, `_get_doserrno`, `_set_doserrno`, `perror` and `strerror`.
Stores error codes and related information.|
+|[_environ, _wenviron](./environ-wenviron.md)|Deprecated. Instead, use `getenv_s`, `_wgetenv_s`, `_dupenv_s`, `_wdupenv_s`, `_putenv_s`, and `_wputenv_s`.
Pointers to arrays of pointers to the process environment strings; initialized at startup.|
+|[_fmode](./fmode.md)|Deprecated. Instead, use `_get_fmode` or `_set_fmode`.
Sets default file-translation mode.|
+|[_iob](./iob.md)|Array of I/O control structures for the console, files, and devices.|
+|[_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](./pctype-pwctype-wctype-mbctype-mbcasemap.md)|Contains information used by the character-classification functions.|
+|[_pgmptr, _wpgmptr](./pgmptr-wpgmptr.md)|Deprecated. Instead, use `_get_pgmptr` or `_get_wpgmptr`.
Based on how the program is invoked, the runtime initializes these values at program startup: either to the fully qualified or relative path of the program, the full program name, or the program name without its file name extension.|
## See also
-[C Run-Time Library Reference](../c-runtime-library/c-run-time-library-reference.md)
-[Global Constants](../c-runtime-library/global-constants.md)
-[__argc, \__argv, \__wargv](../c-runtime-library/argc-argv-wargv.md)
-[_get_daylight](../c-runtime-library/reference/get-daylight.md)
-[_get_dstbias](../c-runtime-library/reference/get-dstbias.md)
-[_get_timezone](../c-runtime-library/reference/get-timezone.md)
-[_get_tzname](../c-runtime-library/reference/get-tzname.md)
-[perror](../c-runtime-library/reference/perror-wperror.md)
-[strerror](../c-runtime-library/reference/strerror-strerror-wcserror-wcserror.md)
-[_get_doserrno](../c-runtime-library/reference/get-doserrno.md)
-[_set_doserrno](../c-runtime-library/reference/set-doserrno.md)
-[_get_errno](../c-runtime-library/reference/get-errno.md)
-[_set_errno](../c-runtime-library/reference/set-errno.md)
-[_dupenv_s, _wdupenv_s](../c-runtime-library/reference/dupenv-s-wdupenv-s.md)
-[getenv, _wgetenv](../c-runtime-library/reference/getenv-wgetenv.md)
-[getenv_s, _wgetenv_s](../c-runtime-library/reference/getenv-s-wgetenv-s.md)
-[_putenv, _wputenv](../c-runtime-library/reference/putenv-wputenv.md)
-[_putenv_s, _wputenv_s](../c-runtime-library/reference/putenv-s-wputenv-s.md)
-[_get_fmode](../c-runtime-library/reference/get-fmode.md)
-[_set_fmode](../c-runtime-library/reference/set-fmode.md)
+[C runtime library reference](./c-run-time-library-reference.md)\
+[Global constants](./global-constants.md)\
+[__argc, \__argv, \__wargv](./argc-argv-wargv.md)\
+[_get_daylight](./reference/get-daylight.md)\
+[_get_dstbias](./reference/get-dstbias.md)\
+[_get_timezone](./reference/get-timezone.md)\
+[_get_tzname](./reference/get-tzname.md)\
+[perror](./reference/perror-wperror.md)\
+[strerror](./reference/strerror-strerror-wcserror-wcserror.md)\
+[_get_doserrno](./reference/get-doserrno.md)\
+[_set_doserrno](./reference/set-doserrno.md)\
+[_get_errno](./reference/get-errno.md)\
+[_set_errno](./reference/set-errno.md)\
+[_dupenv_s, _wdupenv_s](./reference/dupenv-s-wdupenv-s.md)\
+[getenv, _wgetenv](./reference/getenv-wgetenv.md)\
+[getenv_s, _wgetenv_s](./reference/getenv-s-wgetenv-s.md)\
+[_putenv, _wputenv](./reference/putenv-wputenv.md)\
+[_putenv_s, _wputenv_s](./reference/putenv-s-wputenv-s.md)\
+[_get_fmode](./reference/get-fmode.md)\
+[_set_fmode](./reference/set-fmode.md)
diff --git a/docs/c-runtime-library/heap-constants.md b/docs/c-runtime-library/heap-constants.md
index 80fab240588..b0cd75010f1 100644
--- a/docs/c-runtime-library/heap-constants.md
+++ b/docs/c-runtime-library/heap-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["_HEAPBADPTR", "_HEAPEMPTY", "_HEAPBADBEGIN", "_HEAPOK", "_HEAPBAD
helpviewer_keywords: ["_HEAPOK constants", "_HEAPEND constants", "HEAPBADBEGIN constants", "_HEAPBADNODE constants", "HEAPBADNODE constants", "HEAPBADPTR constants", "_HEAPEMPTY constants", "HEAPEND constants", "HEAPOK constants", "HEAPEMPTY constants", "_HEAPBADBEGIN constants", "_HEAPBADPTR constants", "heap constants"]
ms.assetid: 3f751bb9-2dc4-486f-b5f5-9061c96d3754
---
-# Heap Constants
+# Heap constants
## Syntax
@@ -29,7 +29,7 @@ These constants give the return value indicating status of the heap.
## See also
-[_heapchk](../c-runtime-library/reference/heapchk.md)
-[_heapset](../c-runtime-library/heapset.md)
-[_heapwalk](../c-runtime-library/reference/heapwalk.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_heapchk](./reference/heapchk.md)\
+[_heapset](./heapset.md)\
+[_heapwalk](./reference/heapwalk.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/heap-maxreq.md b/docs/c-runtime-library/heap-maxreq.md
index e4688366f27..838fb5d4e59 100644
--- a/docs/c-runtime-library/heap-maxreq.md
+++ b/docs/c-runtime-library/heap-maxreq.md
@@ -20,6 +20,6 @@ The maximum size of a user request for memory that can be granted.
## See also
-[malloc](../c-runtime-library/reference/malloc.md)
-[calloc](../c-runtime-library/reference/calloc.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[malloc](./reference/malloc.md)\
+[calloc](./reference/calloc.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/heapadd.md b/docs/c-runtime-library/heapadd.md
index 4ee7da88ea8..78423dcec63 100644
--- a/docs/c-runtime-library/heapadd.md
+++ b/docs/c-runtime-library/heapadd.md
@@ -34,11 +34,11 @@ Pointer to the heap memory.
*`size`*
Size of memory to add, in bytes.
-## Return Value
+## Return value
If successful, `_heapadd` returns 0; otherwise, the function returns -1 and sets `errno` to `ENOSYS`.
-For more information about this and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information about this and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](./errno-doserrno-sys-errlist-and-sys-nerr.md).
## Remarks
@@ -50,15 +50,15 @@ Beginning with Visual C++ version 4.0, the underlying heap structure was moved t
|-------------|---------------------|---------------------|
|`_heapadd`|\|\|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md) in the Introduction.
+For more compatibility information, see [Compatibility](./compatibility.md) in the Introduction.
## See also
-[Memory Allocation](../c-runtime-library/memory-allocation.md)
-[free](../c-runtime-library/reference/free.md)
-[_heapchk](../c-runtime-library/reference/heapchk.md)
-[_heapmin](../c-runtime-library/reference/heapmin.md)
-[_heapset](../c-runtime-library/heapset.md)
-[_heapwalk](../c-runtime-library/reference/heapwalk.md)
-[malloc](../c-runtime-library/reference/malloc.md)
-[realloc](../c-runtime-library/reference/realloc.md)
+[Memory allocation](./memory-allocation.md)\
+[free](./reference/free.md)\
+[_heapchk](./reference/heapchk.md)\
+[_heapmin](./reference/heapmin.md)\
+[_heapset](./heapset.md)\
+[_heapwalk](./reference/heapwalk.md)\
+[malloc](./reference/malloc.md)\
+[realloc](./reference/realloc.md)
diff --git a/docs/c-runtime-library/heapset.md b/docs/c-runtime-library/heapset.md
index 1eb6c66e9eb..654f6c20aa1 100644
--- a/docs/c-runtime-library/heapset.md
+++ b/docs/c-runtime-library/heapset.md
@@ -30,7 +30,7 @@ int _heapset(
*fill*
Fill character.
-## Return Value
+## Return value
`_heapset` returns one of the following integer manifest constants defined in Malloc.h.
@@ -55,7 +55,7 @@ The `_heapset` function shows free memory locations or nodes that have been unin
|-------------|---------------------|---------------------|
|`_heapset`|\|\|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md) in the Introduction.
+For more compatibility information, see [Compatibility](./compatibility.md) in the Introduction.
## Example
@@ -101,8 +101,8 @@ OK - heap is fine
## See also
-[Memory Allocation](../c-runtime-library/memory-allocation.md)
-[_heapadd](../c-runtime-library/heapadd.md)
-[_heapchk](../c-runtime-library/reference/heapchk.md)
-[_heapmin](../c-runtime-library/reference/heapmin.md)
-[_heapwalk](../c-runtime-library/reference/heapwalk.md)
+[Memory allocation](./memory-allocation.md)\
+[_heapadd](./heapadd.md)\
+[_heapchk](./reference/heapchk.md)\
+[_heapmin](./reference/heapmin.md)\
+[_heapwalk](./reference/heapwalk.md)
diff --git a/docs/c-runtime-library/huge-val-huge.md b/docs/c-runtime-library/huge-val-huge.md
index be0042e116b..9bbadc2cd52 100644
--- a/docs/c-runtime-library/huge-val-huge.md
+++ b/docs/c-runtime-library/huge-val-huge.md
@@ -24,4 +24,4 @@ ms.assetid: 3f044b45-02cd-46b2-b1de-87fd0441dd6a
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/inp-inpw-inpd.md b/docs/c-runtime-library/inp-inpw-inpd.md
index f6466bde4ea..6846b10f020 100644
--- a/docs/c-runtime-library/inp-inpw-inpd.md
+++ b/docs/c-runtime-library/inp-inpw-inpd.md
@@ -37,7 +37,7 @@ unsigned long _inpd(
*`port`*\
I/O port number.
-## Return Value
+## Return value
The functions return the byte, word, or double word read from *`port`*. There's no error return.
@@ -57,13 +57,13 @@ The `inp` and `inpw` names are older, deprecated names for the `_inp` and `_inpw
|`_inpw`|\|
|`_inpd`|\|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](./compatibility.md).
## Libraries
-All versions of the [C run-time libraries](../c-runtime-library/crt-library-features.md).
+All versions of the [C run-time libraries](./crt-library-features.md).
## See also
-[Console and Port I/O](../c-runtime-library/console-and-port-i-o.md)\
-[`outp`, `outpw`, `_outp`, `_outpw`, `_outpd`](../c-runtime-library/outp-outpw-outpd.md)
+[Console and port I/O](./console-and-port-i-o.md)\
+[`outp`, `outpw`, `_outp`, `_outpw`, `_outpd`](./outp-outpw-outpd.md)
diff --git a/docs/c-runtime-library/input-and-output.md b/docs/c-runtime-library/input-and-output.md
index 10be91539a8..d459ce63c10 100644
--- a/docs/c-runtime-library/input-and-output.md
+++ b/docs/c-runtime-library/input-and-output.md
@@ -5,19 +5,19 @@ ms.date: "11/04/2016"
f1_keywords: ["c.io"]
helpviewer_keywords: ["input routines", "I/O [CRT]", "I/O routines", "I/O [CRT], routines", "output routines"]
---
-# Input and Output
+# Input and output
The I/O functions read and write data to and from files and devices. File I/O operations take place in text mode or binary mode. The Microsoft run-time library has three types of I/O functions:
-- [Stream I/O](../c-runtime-library/stream-i-o.md) functions treat data as a stream of individual characters.
+- [Stream I/O](./stream-i-o.md) functions treat data as a stream of individual characters.
-- [Low-level I/O](../c-runtime-library/low-level-i-o.md) functions invoke the operating system directly for lower-level operation than that provided by stream I/O.
+- [Low-level I/O](./low-level-i-o.md) functions invoke the operating system directly for lower-level operation than that provided by stream I/O.
-- [Console and port I/O](../c-runtime-library/console-and-port-i-o.md) functions read or write directly to a console (keyboard and screen) or an I/O port (such as a printer port).
+- [Console and port I/O](./console-and-port-i-o.md) functions read or write directly to a console (keyboard and screen) or an I/O port (such as a printer port).
> [!NOTE]
> Because stream functions are buffered and low-level functions are not, these two types of functions are generally incompatible. For processing a particular file, use either stream or low-level functions exclusively.
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/internal-crt-globals-and-functions.md b/docs/c-runtime-library/internal-crt-globals-and-functions.md
index baad53841bc..77abd7513a5 100644
--- a/docs/c-runtime-library/internal-crt-globals-and-functions.md
+++ b/docs/c-runtime-library/internal-crt-globals-and-functions.md
@@ -9,30 +9,30 @@ topic_type: ["apiref"]
f1_keywords: ["__acrt_iob_func", "__AdjustPointer", "__badioinfo", "__BuildCatchObject", "__BuildCatchObjectHelper", "__C_specific_handler", "_calloc_base", "_chkesp", "__chkstk", "_chkstk", "_chvalidator", "_chvalidator_l", "_CIacos", "_CIasin", "_CIcosh", "_CIsinh", "_CItanh", "__clean_type_info_names_internal", "_commode", "_configure_narrow_argv", "_configure_wide_argv", "__conio_common_vcprintf", "__conio_common_vcprintf_p", "__conio_common_vcprintf_s", "__conio_common_vcscanf", "__conio_common_vcwprintf", "__conio_common_vcwprintf_p", "__conio_common_vcwprintf_s", "__conio_common_vcwscanf", "__CppXcptFilter", "_crt_at_quick_exit", "_crt_atexit", "_crtAssertBusy", "_crtBreakAlloc", "__crtCompareStringA", "__crtCompareStringEx", "__crtCompareStringW", "__crtCreateEventExW", "__crtCreateSemaphoreExW", "__crtCreateSymbolicLinkW", "_crt_debugger_hook", "__crtEnumSystemLocalesEx", "__crtFlsAlloc", "__crtFlsFree", "__crtFlsGetValue", "__crtFlsSetValue", "_CrtGetCheckCount", "__crtGetDateFormatEx", "__crtGetFileInformationByHandleEx", "__crtGetLocaleInfoEx", "__crtGetShowWindowMode", "__crtGetTickCount64", "__crtGetTimeFormatEx", "__crtGetUserDefaultLocaleName", "__crtInitializeCriticalSectionEx", "__crtIsPackagedApp", "__crtIsValidLocaleName", "__crtLCMapStringA", "__crtLCMapStringEx", "_CrtSetCheckCount", "_CrtSetDbgBlockType", "__crtSetFileInformationByHandle", "__crtSetThreadStackGuarantee", "__crtSetUnhandledExceptionFilter", "__crtSleep", "__crtTerminateProcess", "__crtUnhandledException", "__CxxDetectRethrow", "__CxxExceptionFilter", "__CxxFrameHandler2", "__CxxFrameHandler3", "__CxxLongjmpUnwind", "__CxxQueryExceptionSize", "__CxxRegisterExceptionObject", "__CxxUnregisterExceptionObject", "__daylight", "__DestructExceptionObject", "__doserrno", "_dosmaperr", "_EH_prolog", "_errno", "_except_handler2", "_except_handler4_common", "_except1", "_filbuf", "_FindAndUnlinkFrame", "_flsbuf", "__fpe_flt_rounds", "_FPE_Raise", "__fpecode", "__FrameUnwindFilter", "_free_base", "_freea_s", "_freefls", "_ftol", "__get_flsindex", "_get_initial_narrow_environment", "_get_initial_wide_environment", "_get_narrow_winmain_command_line", "_get_stream_buffer_pointers", "__get_tlsindex", "_get_wide_winmain_command_line", "_Getdays", "_Getmonths", "__GetPlatformExceptionInfo", "_getptd", "_Gettnames", "_global_unwind2", "_inconsistency", "__initenv", "_initialize_lconv_for_unsigned_char", "_initialize_narrow_environment", "_initialize_wide_environment", "_initptd", "__iob_func", "_IsExceptionObjectToBeDestroyed", "__lconv", "__lconv_init", "__libm_sse2_acos", "_libm_sse2_acos_precise", "__libm_sse2_acosf", "__libm_sse2_asin", "_libm_sse2_asin_precise", "__libm_sse2_asinf", "__libm_sse2_atan", "_libm_sse2_atan_precise", "__libm_sse2_atan2", "__libm_sse2_atanf", "__libm_sse2_cos", "_libm_sse2_cos_precise", "__libm_sse2_cosf", "__libm_sse2_exp", "_libm_sse2_exp_precise", "__libm_sse2_expf", "__libm_sse2_log", "_libm_sse2_log_precise", "__libm_sse2_log10", "_libm_sse2_log10_precise", "__libm_sse2_log10f", "__libm_sse2_logf", "__libm_sse2_pow", "_libm_sse2_pow_precise", "__libm_sse2_powf", "__libm_sse2_sin", "_libm_sse2_sin_precise", "__libm_sse2_sinf", "_libm_sse2_sqrt_precise", "__libm_sse2_tan", "_libm_sse2_tan_precise", "__libm_sse2_tanf", "_local_unwind4", "_lock_locales", "_longjmpex", "_malloc_base", "_NLG_Dispatch2", "_NLG_Return", "_NLG_Return2", "__p___argc", "__p___argv", "__p___initenv", "__p___wargv", "__p___winitenv", "__p__acmdln", "__p__crtAssertBusy", "__p__crtBreakAlloc", "__p__crtDbgFlag", "__p__daylight", "__p__dstbias", "__p__environ", "__p__iob", "__p__mbcasemap", "__p__mbctype", "__p__pctype", "__p__pgmptr", "__p__pwctype", "__p__timezone", "__p__tzname", "__p__wcmdln", "__p__wenviron", "__p__wpgmptr", "__pioinfo", "_pwctype", "__pwctype_func", "__pxcptinfoptrs", "_query_app_type", "_realloc_base", "_register_thread_local_exe_atexit_callback", "__report_gsfailure", "__RTCastToVoid", "__RTtypeid", "_seh_longjmp_unwind", "_seh_longjmp_unwind4", "_set_malloc_crt_max_wait", "__setlc_active", "_SetWinRTOutOfMemoryExceptionCallback", "_sopen_dispatch", "__std_exception_copy", "__std_exception_destroy", "__std_type_info_destroy_list", "__stdio_common_vfprintf", "__stdio_common_vfprintf_p", "__stdio_common_vfprintf_s", "__stdio_common_vfscanf", "__stdio_common_vfwprintf", "__stdio_common_vfwprintf_p", "__stdio_common_vfwprintf_s", "__stdio_common_vfwscanf", "__stdio_common_vsnprintf_s", "__stdio_common_vsnwprintf_s", "__stdio_common_vsprintf", "__stdio_common_vsprintf_p", "__stdio_common_vsprintf_s", "__stdio_common_vsscanf", "__stdio_common_vswprintf", "__stdio_common_vswprintf_p", "__stdio_common_vswprintf_s", "__stdio_common_vswscanf", "_Strftime", "__STRINGTOLD", "__STRINGTOLD_L", "__strncnt", "__threadhandle", "__threadid", "__timezone", "__TypeMatch", "__tzname", "__unDName", "__unDNameEx", "__unDNameHelper", "__unguarded_readlc_active", "_unlock_locales", "_vacopy", "_ValidateExecute", "_ValidateRead", "_ValidateWrite", "_VCrtDbgReportA", "_VCrtDbgReportW", "_W_Getdays", "_W_Getmonths", "_W_Getnames", "_Wcsftime", "__wcsncnt", "__winitenv", "_wsopen_dispatch", "_Xbad_alloc", "_Xlength_error"]
helpviewer_keywords: ["__acrt_iob_func", "__AdjustPointer", "_assert", "__badioinfo", "__BuildCatchObject", "__BuildCatchObjectHelper", "__C_specific_handler", "_calloc_base", "_chkesp", "__chkstk", "_chkstk", "_chvalidator", "_chvalidator_l", "_CIacos", "_CIasin", "_CIcosh", "_CIsinh", "_CItanh", "__clean_type_info_names_internal", "_commode", "_configure_narrow_argv", "_configure_wide_argv", "__conio_common_vcprintf", "__conio_common_vcprintf_p", "__conio_common_vcprintf_s", "__conio_common_vcscanf", "__conio_common_vcwprintf", "__conio_common_vcwprintf_p", "__conio_common_vcwprintf_s", "__conio_common_vcwscanf", "__CppXcptFilter", "__create_locale", "_crt_at_quick_exit", "_crt_atexit", "_crtAssertBusy", "_crtBreakAlloc", "__crtCompareStringA", "__crtCompareStringEx", "__crtCompareStringW", "__crtCreateEventExW", "__crtCreateSemaphoreExW", "__crtCreateSymbolicLinkW", "_crt_debugger_hook", "__crtEnumSystemLocalesEx", "__crtFlsAlloc", "__crtFlsFree", "__crtFlsGetValue", "__crtFlsSetValue", "_CrtGetCheckCount", "__crtGetDateFormatEx", "__crtGetFileInformationByHandleEx", "__crtGetLocaleInfoEx", "__crtGetShowWindowMode", "__crtGetTickCount64", "__crtGetTimeFormatEx", "__crtGetUserDefaultLocaleName", "__crtInitializeCriticalSectionEx", "__crtIsPackagedApp", "__crtIsValidLocaleName", "__crtLCMapStringA", "__crtLCMapStringEx", "_CrtSetCheckCount", "_CrtSetDbgBlockType", "__crtSetFileInformationByHandle", "__crtSetThreadStackGuarantee", "__crtSetUnhandledExceptionFilter", "__crtSleep", "__crtTerminateProcess", "__crtUnhandledException", "__CxxDetectRethrow", "__CxxExceptionFilter", "__CxxFrameHandler2", "__CxxFrameHandler3", "__CxxLongjmpUnwind", "__CxxQueryExceptionSize", "__CxxRegisterExceptionObject", "_CxxThrowException", "__CxxUnregisterExceptionObject", "__daylight", "_dclass", "__DestructExceptionObject", "__doserrno", "_dosmaperr", "_dpcomp", "_dsign", "__dstbias", "_dtest", "_EH_prolog", "_errno", "_except_handler2", "_except_handler4_common", "_except1", "_fdclass", "_fdpcomp", "_fdsign", "_fdtest", "_filbuf", "_FindAndUnlinkFrame", "_flsbuf", "__fpe_flt_rounds", "_FPE_Raise", "__fpecode", "__FrameUnwindFilter", "_fread_nolock_s", "_free_base", "__free_locale", "_freea_s", "_freefls", "_ftol", "__get_current_locale", "__get_flsindex", "_get_initial_narrow_environment", "_get_initial_wide_environment", "_get_narrow_winmain_command_line", "_get_stream_buffer_pointers", "__get_tlsindex", "_get_wide_winmain_command_line", "_Getdays", "_Getmonths", "__GetPlatformExceptionInfo", "_getptd", "_Gettnames", "_global_unwind2", "_inconsistency", "__initenv", "_initialize_lconv_for_unsigned_char", "_initialize_narrow_environment", "_initialize_wide_environment", "_initptd", "_invalid_parameter", "_invoke_watson", "__iob_func", "_IsExceptionObjectToBeDestroyed", "__lconv", "__lconv_init", "_ldclass", "_ldpcomp", "_ldsign", "_ldtest", "__libm_sse2_acos", "_libm_sse2_acos_precise", "__libm_sse2_acosf", "__libm_sse2_asin", "_libm_sse2_asin_precise", "__libm_sse2_asinf", "__libm_sse2_atan", "_libm_sse2_atan_precise", "__libm_sse2_atan2", "__libm_sse2_atanf", "__libm_sse2_cos", "_libm_sse2_cos_precise", "__libm_sse2_cosf", "__libm_sse2_exp", "_libm_sse2_exp_precise", "__libm_sse2_expf", "__libm_sse2_log", "_libm_sse2_log_precise", "__libm_sse2_log10", "_libm_sse2_log10_precise", "__libm_sse2_log10f", "__libm_sse2_logf", "__libm_sse2_pow", "_libm_sse2_pow_precise", "__libm_sse2_powf", "__libm_sse2_sin", "_libm_sse2_sin_precise", "__libm_sse2_sinf", "_libm_sse2_sqrt_precise", "__libm_sse2_tan", "_libm_sse2_tan_precise", "__libm_sse2_tanf", "_local_unwind4", "_lock_locales", "_longjmpex", "_malloc_base", "_mbctype", "_NLG_Dispatch2", "_NLG_Return", "_NLG_Return2", "__p___argc", "__p___argv", "__p___initenv", "__p___wargv", "__p___winitenv", "__p__acmdln", "__p__crtAssertBusy", "__p__crtBreakAlloc", "__p__crtDbgFlag", "__p__daylight", "__p__dstbias", "__p__environ", "__p__iob", "__p__mbcasemap", "__p__mbctype", "__p__pctype", "__p__pgmptr", "__p__pwctype", "__p__timezone", "__p__tzname", "__p__wcmdln", "__p__wenviron", "__p__wpgmptr", "_pctype", "__pioinfo", "_pwctype", "__pwctype_func", "__pxcptinfoptrs", "_query_app_type", "_realloc_base", "_register_thread_local_exe_atexit_callback", "__report_gsfailure", "__RTCastToVoid", "__RTtypeid", "_seh_filter_dll", "_seh_filter_exe", "_seh_longjmp_unwind", "_seh_longjmp_unwind4", "_set_malloc_crt_max_wait", "__setlc_active", "_SetWinRTOutOfMemoryExceptionCallback", "_sopen_dispatch", "__std_exception_copy", "__std_exception_destroy", "__std_type_info_destroy_list", "__stdio_common_vfprintf", "__stdio_common_vfprintf_p", "__stdio_common_vfprintf_s", "__stdio_common_vfscanf", "__stdio_common_vfwprintf", "__stdio_common_vfwprintf_p", "__stdio_common_vfwprintf_s", "__stdio_common_vfwscanf", "__stdio_common_vsnprintf_s", "__stdio_common_vsnwprintf_s", "__stdio_common_vsprintf", "__stdio_common_vsprintf_p", "__stdio_common_vsprintf_s", "__stdio_common_vsscanf", "__stdio_common_vswprintf", "__stdio_common_vswprintf_p", "__stdio_common_vswprintf_s", "__stdio_common_vswscanf", "_Strftime", "__STRINGTOLD", "__STRINGTOLD_L", "__strncnt", "__sys_errlist", "__sys_nerr", "__threadhandle", "__threadid", "__timezone", "__TypeMatch", "__tzname", "__unDName", "__unDNameEx", "__unDNameHelper", "__unguarded_readlc_active", "_unloaddll", "_unlock_locales", "_vacopy", "_ValidateExecute", "_ValidateRead", "_ValidateWrite", "_VCrtDbgReportA", "_VCrtDbgReportW", "_W_Getdays", "_W_Getmonths", "_W_Getnames", "_wassert", "_Wcsftime", "__wcsncnt", "__winitenv", "_wsopen_dispatch", "_Xbad_alloc", "_Xlength_error"]
---
-# Internal CRT Globals and Functions
+# Internal CRT globals and functions
The C runtime (CRT) library contains functions and global variables that are used only to support the public library interface. Some of them are exposed in public headers as implementation details. Although these functions and global variables are accessible through public exports, they're not intended for use by your code. We recommend that you change any code that uses these functions and variables to use public library equivalents instead. These functions may change from version to version. They're listed here to help you identify them. Links are provided when other documentation exists, but in general, these implementation details aren't documented.
-## Internal CRT Globals and Value Macros
+## Internal CRT globals and value macros
These global variables and macro definitions are used to implement the CRT.
|Name|
|----------|
|`__badioinfo`|
-|[`_acmdln`](../c-runtime-library/acmdln-tcmdln-wcmdln.md)|
+|[`_acmdln`](./acmdln-tcmdln-wcmdln.md)|
|`_commode`|
|`_crtAssertBusy`|
|`_crtBreakAlloc`|
|`__initenv`|
|`__lconv`|
-|[`__mb_cur_max`](../c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
+|[`__mb_cur_max`](./mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
|`__pioinfo`|
|`__unguarded_readlc_active`|
-|[`_wcmdln`](../c-runtime-library/acmdln-tcmdln-wcmdln.md)|
+|[`_wcmdln`](./acmdln-tcmdln-wcmdln.md)|
|`__winitenv`|
-## Internal CRT Functions and Function Macros
+## Internal CRT functions and function macros
These functions and function macros are used to implement the CRT and the C++ Standard Library.
@@ -52,19 +52,19 @@ These functions and function macros are used to implement the CRT and the C++ St
|`_chvalidator_l`|
|`_CIacos`|
|`_CIasin`|
-|[`_CIatan`](../c-runtime-library/ciatan.md)|
-|[`_CIatan2`](../c-runtime-library/ciatan2.md)|
-|[`_CIcos`](../c-runtime-library/cicos.md)|
+|[`_CIatan`](./ciatan.md)|
+|[`_CIatan2`](./ciatan2.md)|
+|[`_CIcos`](./cicos.md)|
|`_CIcosh`|
-|[`_CIexp`](../c-runtime-library/ciexp.md)|
-|[`_CIfmod`](../c-runtime-library/cifmod.md)|
-|[`_CIlog`](../c-runtime-library/cilog.md)|
-|[`_CIlog10`](../c-runtime-library/cilog10.md)|
-|[`_CIpow`](../c-runtime-library/cipow.md)|
-|[`_CIsin`](../c-runtime-library/cisin.md)|
+|[`_CIexp`](./ciexp.md)|
+|[`_CIfmod`](./cifmod.md)|
+|[`_CIlog`](./cilog.md)|
+|[`_CIlog10`](./cilog10.md)|
+|[`_CIpow`](./cipow.md)|
+|[`_CIsin`](./cisin.md)|
|`_CIsinh`|
-|[`_CIsqrt`](../c-runtime-library/cisqrt.md)|
-|[`_CItan`](../c-runtime-library/citan.md)|
+|[`_CIsqrt`](./cisqrt.md)|
+|[`_CItan`](./citan.md)|
|`_CItanh`|
|`__clean_type_info_names_internal`|
|`_configure_narrow_argv`|
@@ -106,7 +106,7 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__crtIsValidLocaleName`|
|`__crtLCMapStringA`|
|`__crtLCMapStringEx`|
-|[`__crtLCMapStringW`](../c-runtime-library/crtlcmapstringw.md)|
+|[`__crtLCMapStringW`](./crtlcmapstringw.md)|
|`_CrtSetCheckCount`|
|`_CrtSetDbgBlockType`|
|`__crtSetFileInformationByHandle`|
@@ -117,7 +117,7 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__crtUnhandledException`|
|`__CxxDetectRethrow`|
|`__CxxExceptionFilter`|
-|[`__CxxFrameHandler`](../c-runtime-library/cxxframehandler.md)|
+|[`__CxxFrameHandler`](./cxxframehandler.md)|
|`__CxxFrameHandler2`|
|`__CxxFrameHandler3`|
|`__CxxLongjmpUnwind`|
@@ -128,7 +128,7 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__daylight`|
|`_dclass`|
|`__DestructExceptionObject`|
-|[`__dllonexit`](../c-runtime-library/dllonexit.md)|
+|[`__dllonexit`](./dllonexit.md)|
|`__doserrno`|
|`_dosmaperr`|
|`_dpcomp`|
@@ -138,10 +138,10 @@ These functions and function macros are used to implement the CRT and the C++ St
|`_EH_prolog`|
|`_errno`|
|`_except_handler2`|
-|[`_except_handler3`](../c-runtime-library/except-handler3.md)|
+|[`_except_handler3`](./except-handler3.md)|
|`_except_handler4_common`|
|`_except1`|
-|[`_execute_onexit_table`](../c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
+|[`_execute_onexit_table`](./execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
|`_fdclass`|
|`_fdpcomp`|
|`_fdsign`|
@@ -168,7 +168,7 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__get_tlsindex`|
|`_get_wide_winmain_command_line`|
|`_Getdays`|
-|[`__getmainargs`](../c-runtime-library/getmainargs-wgetmainargs.md)|
+|[`__getmainargs`](./getmainargs-wgetmainargs.md)|
|`_Getmonths`|
|`__GetPlatformExceptionInfo`|
|`_getptd`|
@@ -177,16 +177,16 @@ These functions and function macros are used to implement the CRT and the C++ St
|`_inconsistency`|
|`_initialize_lconv_for_unsigned_char`|
|`_initialize_narrow_environment`|
-|[`_initialize_onexit_table`](../c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
+|[`_initialize_onexit_table`](./execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
|`_initialize_wide_environment`|
|`_initptd`|
|`_invalid_parameter`|
|`_invoke_watson`|
|`__iob_func`|
|`_IsExceptionObjectToBeDestroyed`|
-|[`___lc_codepage_func`](../c-runtime-library/lc-codepage-func.md)|
-|[`___lc_collate_cp_func`](../c-runtime-library/lc-collate-cp-func.md)|
-|[`___lc_locale_name_func`](../c-runtime-library/lc-locale-name-func.md)|
+|[`___lc_codepage_func`](./lc-codepage-func.md)|
+|[`___lc_collate_cp_func`](./lc-collate-cp-func.md)|
+|[`___lc_locale_name_func`](./lc-locale-name-func.md)|
|`__lconv_init`|
|`_ldclass`|
|`_ldpcomp`|
@@ -224,13 +224,13 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__libm_sse2_tan`|
|`_libm_sse2_tan_precise`|
|`__libm_sse2_tanf`|
-|[`_local_unwind2`](../c-runtime-library/local-unwind2.md)|
+|[`_local_unwind2`](./local-unwind2.md)|
|`_local_unwind4`|
|`_lock_locales`|
|`_longjmpex`|
|`_malloc_base`|
-|[`___mb_cur_max_func`](../c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
-|[`___mb_cur_max_l_func`](../c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
+|[`___mb_cur_max_func`](./mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
+|[`___mb_cur_max_l_func`](./mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
|`_mbctype`|
|`_NLG_Dispatch2`|
|`_NLG_Return`|
@@ -238,18 +238,18 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__p___argc`|
|`__p___argv`|
|`__p___initenv`|
-|[`__p___mb_cur_max`](../c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
+|[`__p___mb_cur_max`](./mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)|
|`__p___wargv`|
|`__p___winitenv`|
|`__p__acmdln`|
-|[`__p__commode`](../c-runtime-library/p-commode.md)|
+|[`__p__commode`](./p-commode.md)|
|`__p__crtAssertBusy`|
|`__p__crtBreakAlloc`|
|`__p__crtDbgFlag`|
|`__p__daylight`|
|`__p__dstbias`|
|`__p__environ`|
-|[`__p__fmode`](../c-runtime-library/p-fmode.md)|
+|[`__p__fmode`](./p-fmode.md)|
|`__p__iob`|
|`__p__mbcasemap`|
|`__p__mbctype`|
@@ -262,28 +262,28 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__p__wenviron`|
|`__p__wpgmptr`|
|`_pctype`|
-|[`__pctype_func`](../c-runtime-library/pctype-func.md)|
+|[`__pctype_func`](./pctype-func.md)|
|`_pwctype`|
|`__pwctype_func`|
|`__pxcptinfoptrs`|
|`_query_app_type`|
|`_realloc_base`|
-|[`_register_onexit_function`](../c-runtime-library/execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
+|[`_register_onexit_function`](./execute-onexit-table-initialize-onexit-table-register-onexit-function.md)|
|`_register_thread_local_exe_atexit_callback`|
|`__report_gsfailure`|
|`__RTCastToVoid`|
-|[`__RTDynamicCast`](../c-runtime-library/rtdynamiccast.md)|
+|[`__RTDynamicCast`](./rtdynamiccast.md)|
|`__RTtypeid`|
|`_seh_filter_dll`|
|`_seh_filter_exe`|
|`_seh_longjmp_unwind`|
|`_seh_longjmp_unwind4`|
-|[`__set_app_type`](../c-runtime-library/internal-set-app-type.md)|
+|[`__set_app_type`](./internal-set-app-type.md)|
|`_set_malloc_crt_max_wait`|
-|[`_setjmp3`](../c-runtime-library/setjmp3.md)|
+|[`_setjmp3`](./setjmp3.md)|
|`__setlc_active`|
-|[`___setlc_active_func`](../c-runtime-library/setlc-active-func-unguarded-readlc-active-add-func.md)|
-|[`__setusermatherr`](../c-runtime-library/setusermatherr.md)|
+|[`___setlc_active_func`](./setlc-active-func-unguarded-readlc-active-add-func.md)|
+|[`__setusermatherr`](./setusermatherr.md)|
|`_SetWinRTOutOfMemoryExceptionCallback`|
|`_sopen_dispatch`|
|`__std_exception_copy`|
@@ -323,7 +323,7 @@ These functions and function macros are used to implement the CRT and the C++ St
|`__unDNameEx`|
|`__unDNameHelper`|
|`__unguarded_readlc_active`|
-|[`___unguarded_readlc_active_add_func`](../c-runtime-library/setlc-active-func-unguarded-readlc-active-add-func.md)|
+|[`___unguarded_readlc_active_add_func`](./setlc-active-func-unguarded-readlc-active-add-func.md)|
|`_unloaddll`|
|`_unlock_locales`|
|`_vacopy`|
@@ -339,11 +339,11 @@ These functions and function macros are used to implement the CRT and the C++ St
|`_wassert`|
|`_Wcsftime`|
|`__wcsncnt`|
-|[`__wgetmainargs`](../c-runtime-library/getmainargs-wgetmainargs.md)|
+|[`__wgetmainargs`](./getmainargs-wgetmainargs.md)|
|`_wsopen_dispatch`|
|`_Xbad_alloc`|
|`_Xlength_error`|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/internationalization.md b/docs/c-runtime-library/internationalization.md
index e22e1915491..e66a9a923f6 100644
--- a/docs/c-runtime-library/internationalization.md
+++ b/docs/c-runtime-library/internationalization.md
@@ -11,7 +11,7 @@ ms.assetid: ee536a04-3558-4729-8e10-6dabcde055fd
The Microsoft runtime library provides many routines that you can use to customize your app for international markets such as:
-- [locale-related routines](../c-runtime-library/locale.md)
+- [locale-related routines](./locale.md)
- wide-character routines
- multibyte-character routines
- generic-text routines
@@ -24,4 +24,4 @@ ISO646 operator alternatives are also included.
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/interpretation-of-multibyte-character-sequences.md b/docs/c-runtime-library/interpretation-of-multibyte-character-sequences.md
index d33d043d0ec..6577684ceef 100644
--- a/docs/c-runtime-library/interpretation-of-multibyte-character-sequences.md
+++ b/docs/c-runtime-library/interpretation-of-multibyte-character-sequences.md
@@ -8,27 +8,27 @@ ms.assetid: da9150de-70ea-4d2f-90e6-ddb9202dd80b
---
# Interpretation of multibyte-character sequences
-Most multibyte-character routines in the Microsoft run-time library recognize multibyte-character sequences relating to a multibyte code page. The output value is affected by the setting of the **LC_CTYPE** category setting of the locale. For more information, see [setlocale](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior. The versions with the **_l** suffix are identical, except they use the locale parameter instead of the current locale.
+Most multibyte-character routines in the Microsoft run-time library recognize multibyte-character sequences relating to a multibyte code page. The output value is affected by the setting of the **LC_CTYPE** category setting of the locale. For more information, see [setlocale](./reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior. The versions with the **_l** suffix are identical, except they use the locale parameter instead of the current locale.
## Locale-dependent multibyte routines
|Routine|Use|
|-------------|---------|
-|[_mbclen, mblen, _mblen_l](../c-runtime-library/reference/mbclen-mblen-mblen-l.md)|Validate and return number of bytes in multibyte character|
-|[strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l](../c-runtime-library/reference/strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)|For multibyte character strings: validate each character in string; return string length. For wide character strings: return string length.|
-|[mbstowcs, _mbstowcs_l](../c-runtime-library/reference/mbstowcs-mbstowcs-l.md), [mbstowcs_s, _mbstowcs_s_l](../c-runtime-library/reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|
-|[mbtowc, _mbtowc_l](../c-runtime-library/reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|
-|[wcstombs, _wcstombs_l](../c-runtime-library/reference/wcstombs-wcstombs-l.md), [wcstombs_s, _wcstombs_s_l](../c-runtime-library/reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|
-|[wctomb, _wctomb_l](../c-runtime-library/reference/wctomb-wctomb-l.md), [wctomb_s, _wctomb_s_l](../c-runtime-library/reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|
+|[_mbclen, mblen, _mblen_l](./reference/mbclen-mblen-mblen-l.md)|Validate and return number of bytes in multibyte character|
+|[strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l](./reference/strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)|For multibyte character strings: validate each character in string; return string length. For wide character strings: return string length.|
+|[mbstowcs, _mbstowcs_l](./reference/mbstowcs-mbstowcs-l.md), [mbstowcs_s, _mbstowcs_s_l](./reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|
+|[mbtowc, _mbtowc_l](./reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|
+|[wcstombs, _wcstombs_l](./reference/wcstombs-wcstombs-l.md), [wcstombs_s, _wcstombs_s_l](./reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|
+|[wctomb, _wctomb_l](./reference/wctomb-wctomb-l.md), [wctomb_s, _wctomb_s_l](./reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|
## Locale-independent multibyte routines
|Routine|Use|
|-------------|---------|
-|[mbrtoc16, mbrtoc32](../c-runtime-library/reference/mbrtoc16-mbrtoc323.md)|Convert multibyte UTF-8 character to equivalent UTF-16 or UTF-32 character|
-|[c16rtomb, c32rtomb](../c-runtime-library/reference/c16rtomb-c32rtomb1.md)|Convert UTF-16 or UTF-32 character to equivalent UTF-8 multibyte character|
+|[mbrtoc16, mbrtoc32](./reference/mbrtoc16-mbrtoc323.md)|Convert multibyte UTF-8 character to equivalent UTF-16 or UTF-32 character|
+|[c16rtomb, c32rtomb](./reference/c16rtomb-c32rtomb1.md)|Convert UTF-16 or UTF-32 character to equivalent UTF-8 multibyte character|
## See also
-[Internationalization](../c-runtime-library/internationalization.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Internationalization](./internationalization.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/iob.md b/docs/c-runtime-library/iob.md
index ad06d4eeb82..4d7c4504e12 100644
--- a/docs/c-runtime-library/iob.md
+++ b/docs/c-runtime-library/iob.md
@@ -26,4 +26,4 @@ FILE _iob[_IOB_ENTRIES];
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
+[Global variables](./global-variables.md)
diff --git a/docs/c-runtime-library/is-isw-routines.md b/docs/c-runtime-library/is-isw-routines.md
index 96e98fcb4ff..143df4c551d 100644
--- a/docs/c-runtime-library/is-isw-routines.md
+++ b/docs/c-runtime-library/is-isw-routines.md
@@ -8,22 +8,22 @@ helpviewer_keywords: ["is routines", "isw routines"]
:::row:::
:::column span="":::
- [`isalnum`, `iswalnum`, `_isalnum_l`, `_iswalnum_l`](../c-runtime-library/reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md)\
- [`isalpha`, `iswalpha`, `_isalpha_l`, `_iswalpha_l`](../c-runtime-library/reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md)\
- [`isascii`, _`_isascii`, `iswascii`](../c-runtime-library/reference/isascii-isascii-iswascii.md)\
- [`isblank`, `iswblank`, `_isblank_l`, `_iswblank_l`](../c-runtime-library/reference/isblank-iswblank-isblank-l-iswblank-l.md)\
- [`iscntrl`, `iswcntrl`, `_iscntrl_l`, `_iswcntrl_l`](../c-runtime-library/reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)\
- [`iscsym`, `iscsymf`, `__iscsym`, `__iswcsym`, `__iscsymf`, `__iswcsymf`, `_iscsym_l`, `_iswcsym_l`, `_iscsymf_l`, `_iswcsymf_l`](../c-runtime-library/reference/iscsym-functions.md)\
- [`_isctype`, `iswctype`, `_isctype_l`, `_iswctype_l`](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)\
- [`isdigit`, `iswdigit`, `_isdigit_l`, `_iswdigit_l`](../c-runtime-library/reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md)
- [`isgraph`, `iswgraph`, `_isgraph_l`, `_iswgraph_l`](../c-runtime-library/reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md)\
- [`isleadbyte`, `_isleadbyte_l`](../c-runtime-library/reference/isleadbyte-isleadbyte-l.md)\
- [`islower`, `iswlower`, `_islower_l`, `_iswlower_l`](../c-runtime-library/reference/islower-iswlower-islower-l-iswlower-l.md)\
- [`isprint`, `iswprint`, `_isprint_l`, `_iswprint_l`](../c-runtime-library/reference/isprint-iswprint-isprint-l-iswprint-l.md)\
- [`ispunct`, `iswpunct`, `_ispunct_l`, `_iswpunct_l`](../c-runtime-library/reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md)\
- [`isspace`, `iswspace`, `_isspace_l`, `_iswspace_l`](../c-runtime-library/reference/isspace-iswspace-isspace-l-iswspace-l.md)\
- [`isupper`, `_isupper_l`, `iswupper`, `_iswupper_l`](../c-runtime-library/reference/isupper-isupper-l-iswupper-iswupper-l.md)\
- [`isxdigit`, `iswxdigit`, `_isxdigit_l`, `_iswxdigit_l`](../c-runtime-library/reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)
+ [`isalnum`, `iswalnum`, `_isalnum_l`, `_iswalnum_l`](./reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md)\
+ [`isalpha`, `iswalpha`, `_isalpha_l`, `_iswalpha_l`](./reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md)\
+ [`isascii`, _`_isascii`, `iswascii`](./reference/isascii-isascii-iswascii.md)\
+ [`isblank`, `iswblank`, `_isblank_l`, `_iswblank_l`](./reference/isblank-iswblank-isblank-l-iswblank-l.md)\
+ [`iscntrl`, `iswcntrl`, `_iscntrl_l`, `_iswcntrl_l`](./reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)\
+ [`iscsym`, `iscsymf`, `__iscsym`, `__iswcsym`, `__iscsymf`, `__iswcsymf`, `_iscsym_l`, `_iswcsym_l`, `_iscsymf_l`, `_iswcsymf_l`](./reference/iscsym-functions.md)\
+ [`_isctype`, `iswctype`, `_isctype_l`, `_iswctype_l`](./reference/isctype-iswctype-isctype-l-iswctype-l.md)\
+ [`isdigit`, `iswdigit`, `_isdigit_l`, `_iswdigit_l`](./reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md)
+ [`isgraph`, `iswgraph`, `_isgraph_l`, `_iswgraph_l`](./reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md)\
+ [`isleadbyte`, `_isleadbyte_l`](./reference/isleadbyte-isleadbyte-l.md)\
+ [`islower`, `iswlower`, `_islower_l`, `_iswlower_l`](./reference/islower-iswlower-islower-l-iswlower-l.md)\
+ [`isprint`, `iswprint`, `_isprint_l`, `_iswprint_l`](./reference/isprint-iswprint-isprint-l-iswprint-l.md)\
+ [`ispunct`, `iswpunct`, `_ispunct_l`, `_iswpunct_l`](./reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md)\
+ [`isspace`, `iswspace`, `_isspace_l`, `_iswspace_l`](./reference/isspace-iswspace-isspace-l-iswspace-l.md)\
+ [`isupper`, `_isupper_l`, `iswupper`, `_iswupper_l`](./reference/isupper-isupper-l-iswupper-iswupper-l.md)\
+ [`isxdigit`, `iswxdigit`, `_isxdigit_l`, `_iswxdigit_l`](./reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)
:::column-end:::
:::row-end:::
@@ -38,7 +38,7 @@ The `is` routines produce meaningful results for any integer argument from -1 (`
The `isw` routines produce meaningful results for any integer value from -1 (`WEOF`) to 0xFFFF, inclusive. The `wint_t` data type is defined in `` as an **`unsigned short`**. It can hold any wide character or the wide-character end-of-file (`WEOF`) value.
-The output value is affected by the setting of the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions without the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead.
+The output value is affected by the setting of the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](./reference/setlocale-wsetlocale.md). The versions of these functions without the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead.
In the "C" locale, the test conditions for the `is` routines are as follows:
@@ -328,8 +328,8 @@ int main( void )
## See also
-[Character classification](../c-runtime-library/character-classification.md)\
-[Locale](../c-runtime-library/locale.md)\
-[`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md)\
-[Interpretation of multibyte-character sequences](../c-runtime-library/interpretation-of-multibyte-character-sequences.md)\
-[`to` Functions](../c-runtime-library/to-functions.md)
+[Character classification](./character-classification.md)\
+[Locale](./locale.md)\
+[`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md)\
+[Interpretation of multibyte-character sequences](./interpretation-of-multibyte-character-sequences.md)\
+[`to` Functions](./to-functions.md)
diff --git a/docs/c-runtime-library/ismbb-routines.md b/docs/c-runtime-library/ismbb-routines.md
index 38b9d7044b4..2d24fedf48a 100644
--- a/docs/c-runtime-library/ismbb-routines.md
+++ b/docs/c-runtime-library/ismbb-routines.md
@@ -10,43 +10,43 @@ Tests the given integer value `c` for a particular condition, by using the curre
:::row:::
:::column span="":::
- [`_ismbbalnum`, `_ismbbalnum_l`](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md)\
- [`_ismbbalpha`, `_ismbbalpha_l`](../c-runtime-library/reference/ismbbalpha-ismbbalpha-l.md)\
- [`_ismbbblank`, `_ismbbblank_l`](../c-runtime-library/reference/ismbbblank-ismbbblank-l.md)\
- [`_ismbbgraph`, `_ismbbgraph_l`](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md)\
- [`_ismbbkalnum`, `_ismbbkalnum_l`](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md)\
- [`_ismbbkana`, `_ismbbkana_l`](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md)\
- [`_ismbbkprint`, `_ismbbkprint_l`](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md)\
- [`_ismbbkpunct`, `_ismbbkpunct_l`](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md)\
- [`_ismbblead`, `_ismbblead_l`](../c-runtime-library/reference/ismbblead-ismbblead-l.md)\
- [`_ismbbprint`, `_ismbbprint_l`](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md)\
- [`_ismbbpunct`, `_ismbbpunct_l`](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md)\
- [`_ismbbtrail`, `_ismbbtrail_l`](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md)\
+ [`_ismbbalnum`, `_ismbbalnum_l`](./reference/ismbbalnum-ismbbalnum-l.md)\
+ [`_ismbbalpha`, `_ismbbalpha_l`](./reference/ismbbalpha-ismbbalpha-l.md)\
+ [`_ismbbblank`, `_ismbbblank_l`](./reference/ismbbblank-ismbbblank-l.md)\
+ [`_ismbbgraph`, `_ismbbgraph_l`](./reference/ismbbgraph-ismbbgraph-l.md)\
+ [`_ismbbkalnum`, `_ismbbkalnum_l`](./reference/ismbbkalnum-ismbbkalnum-l.md)\
+ [`_ismbbkana`, `_ismbbkana_l`](./reference/ismbbkana-ismbbkana-l.md)\
+ [`_ismbbkprint`, `_ismbbkprint_l`](./reference/ismbbkprint-ismbbkprint-l.md)\
+ [`_ismbbkpunct`, `_ismbbkpunct_l`](./reference/ismbbkpunct-ismbbkpunct-l.md)\
+ [`_ismbblead`, `_ismbblead_l`](./reference/ismbblead-ismbblead-l.md)\
+ [`_ismbbprint`, `_ismbbprint_l`](./reference/ismbbprint-ismbbprint-l.md)\
+ [`_ismbbpunct`, `_ismbbpunct_l`](./reference/ismbbpunct-ismbbpunct-l.md)\
+ [`_ismbbtrail`, `_ismbbtrail_l`](./reference/ismbbtrail-ismbbtrail-l.md)\
:::column-end:::
:::row-end:::
## Remarks
-Every routine in the `_ismbb` family tests the given integer value `c` for a particular condition. The test result depends on the multibyte code page that's in effect. By default, the multibyte code page is set to the ANSI code page that's obtained from the operating system at program startup. You can use [`_getmbcp`](../c-runtime-library/reference/getmbcp.md) to query for the multibyte code page that's in use, or [`_setmbcp`](../c-runtime-library/reference/setmbcp.md) to change it.
+Every routine in the `_ismbb` family tests the given integer value `c` for a particular condition. The test result depends on the multibyte code page that's in effect. By default, the multibyte code page is set to the ANSI code page that's obtained from the operating system at program startup. You can use [`_getmbcp`](./reference/getmbcp.md) to query for the multibyte code page that's in use, or [`_setmbcp`](./reference/setmbcp.md) to change it.
-The output value is affected by the setting of the `LC_CTYPE` category setting of the locale; for more information, see [`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions that don't have the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions that do have the **`_l`** suffix are identical except that instead they use the locale parameter that's passed in.
+The output value is affected by the setting of the `LC_CTYPE` category setting of the locale; for more information, see [`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md). The versions of these functions that don't have the **`_l`** suffix use the current locale for this locale-dependent behavior; the versions that do have the **`_l`** suffix are identical except that instead they use the locale parameter that's passed in.
The routines in the `_ismbb` family test the given integer `c` as follows.
| Routine | Byte test condition |
|--|--|
-| [`_ismbbalnum`](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md) | `isalnum(c) || _ismbbkalnum(c)` |
+| [`_ismbbalnum`](./reference/ismbbalnum-ismbbalnum-l.md) | `isalnum(c) || _ismbbkalnum(c)` |
| [`_ismbbalpha`](reference/ismbbalpha-ismbbalpha-l.md) | `isalpha(c) || _ismbbkalpha(c)` |
-| [`_ismbbblank`](../c-runtime-library/reference/ismbbblank-ismbbblank-l.md) | `isblank(c)` |
-| [`_ismbbgraph`](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md) | Same as `_ismbbprint`, but `_ismbbgraph` doesn't include the space character (0x20) |
-| [`_ismbbkalnum`](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md) | Non-ASCII text symbol other than punctuation. For example, in code page 932 only, `_ismbbkalnum` tests for katakana alphanumeric |
-| [`_ismbbkana`](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md) | Katakana (0xA1 - 0xDF). Specific to code page 932 |
-| [`_ismbbkprint`](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md) | Non-ASCII text or non-ASCII punctuation symbol. For example, in code page 932 only, `_ismbbkprint` tests for katakana alphanumeric or katakana punctuation (range: 0xA1 - 0xDF) |
-| [`_ismbbkpunct`](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md) | Non-ASCII punctuation. For example, in code page 932 only, `_ismbbkpunct` tests for katakana punctuation |
-| [`_ismbblead`](../c-runtime-library/reference/ismbblead-ismbblead-l.md) | First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 - 0x9F, 0xE0 - 0xFC |
-| [`_ismbbprint`](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md) | `isprint(c) || _ismbbkprint(c)`. `ismbbprint` includes the space character (0x20) |
-| [`_ismbbpunct`](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md) | `ispunct(c) || _ismbbkpunct(c)`. |
-| [`_ismbbtrail`](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md) | Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 - 0x7E, 0x80 - 0xEC |
+| [`_ismbbblank`](./reference/ismbbblank-ismbbblank-l.md) | `isblank(c)` |
+| [`_ismbbgraph`](./reference/ismbbgraph-ismbbgraph-l.md) | Same as `_ismbbprint`, but `_ismbbgraph` doesn't include the space character (0x20) |
+| [`_ismbbkalnum`](./reference/ismbbkalnum-ismbbkalnum-l.md) | Non-ASCII text symbol other than punctuation. For example, in code page 932 only, `_ismbbkalnum` tests for katakana alphanumeric |
+| [`_ismbbkana`](./reference/ismbbkana-ismbbkana-l.md) | Katakana (0xA1 - 0xDF). Specific to code page 932 |
+| [`_ismbbkprint`](./reference/ismbbkprint-ismbbkprint-l.md) | Non-ASCII text or non-ASCII punctuation symbol. For example, in code page 932 only, `_ismbbkprint` tests for katakana alphanumeric or katakana punctuation (range: 0xA1 - 0xDF) |
+| [`_ismbbkpunct`](./reference/ismbbkpunct-ismbbkpunct-l.md) | Non-ASCII punctuation. For example, in code page 932 only, `_ismbbkpunct` tests for katakana punctuation |
+| [`_ismbblead`](./reference/ismbblead-ismbblead-l.md) | First byte of multibyte character. For example, in code page 932 only, valid ranges are 0x81 - 0x9F, 0xE0 - 0xFC |
+| [`_ismbbprint`](./reference/ismbbprint-ismbbprint-l.md) | `isprint(c) || _ismbbkprint(c)`. `ismbbprint` includes the space character (0x20) |
+| [`_ismbbpunct`](./reference/ismbbpunct-ismbbpunct-l.md) | `ispunct(c) || _ismbbkpunct(c)`. |
+| [`_ismbbtrail`](./reference/ismbbtrail-ismbbtrail-l.md) | Second byte of multibyte character. For example, in code page 932 only, valid ranges are 0x40 - 0x7E, 0x80 - 0xEC |
The following table shows the `|`-combined values that compose the test conditions for these routines. The manifest constants `_BLANK`, `_DIGIT`, `_LOWER`, `_PUNCT`, and `_UPPER` are defined in *`ctype.h`*.
@@ -62,11 +62,11 @@ The following table shows the `|`-combined values that compose the test conditio
| `_ismbbprint` | x | x | x | x | x | x | x |
| `_ismbbpunct` | — | — | — | x | — | — | x |
-The `_ismbb` routines are implemented both as functions and as macros. For more information about how to choose either implementation, see [Recommendations for choosing between functions and macros](../c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md).
+The `_ismbb` routines are implemented both as functions and as macros. For more information about how to choose either implementation, see [Recommendations for choosing between functions and macros](./recommendations-for-choosing-between-functions-and-macros.md).
## See also
-[Byte classification](../c-runtime-library/byte-classification.md)\
-[`is`, `isw` routines](../c-runtime-library/is-isw-routines.md)\
-[`_mbbtombc`, `_mbbtombc_l`](../c-runtime-library/reference/mbbtombc-mbbtombc-l.md)\
-[`_mbctombb`, `_mbctombb_l`](../c-runtime-library/reference/mbctombb-mbctombb-l.md)
+[Byte classification](./byte-classification.md)\
+[`is`, `isw` routines](./is-isw-routines.md)\
+[`_mbbtombc`, `_mbbtombc_l`](./reference/mbbtombc-mbbtombc-l.md)\
+[`_mbctombb`, `_mbctombb_l`](./reference/mbctombb-mbctombb-l.md)
diff --git a/docs/c-runtime-library/ismbc-routines.md b/docs/c-runtime-library/ismbc-routines.md
index 1bdfbadd42a..7e40b2a53ca 100644
--- a/docs/c-runtime-library/ismbc-routines.md
+++ b/docs/c-runtime-library/ismbc-routines.md
@@ -15,35 +15,35 @@ Each **_ismbc** routine tests a given multibyte character `c` for a particular c
:::row:::
:::column span="":::
- [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)\
- [_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)\
- [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)\
- [_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)\
- [_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)\
- [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)
+ [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)\
+ [_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)\
+ [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)\
+ [_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](./reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)\
+ [_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](./reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)\
+ [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](./reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)
:::column-end:::
:::row-end:::
## Remarks
-The test result of each **_ismbc** routine depends on the multibyte code page in effect. Multibyte code pages have single-byte alphabetic characters. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. You can query or change the multibyte code page in use with [_getmbcp](../c-runtime-library/reference/getmbcp.md) or [_setmbcp](../c-runtime-library/reference/setmbcp.md), respectively.
+The test result of each **_ismbc** routine depends on the multibyte code page in effect. Multibyte code pages have single-byte alphabetic characters. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. You can query or change the multibyte code page in use with [_getmbcp](./reference/getmbcp.md) or [_setmbcp](./reference/setmbcp.md), respectively.
-The output value is affected by the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior; the versions with the **_l** suffix are identical except that they use the locale parameter passed in instead.
+The output value is affected by the `LC_CTYPE` category setting of the locale. For more information, see [`setlocale`](./reference/setlocale-wsetlocale.md). The versions of these functions without the **_l** suffix use the current locale for this locale-dependent behavior; the versions with the **_l** suffix are identical except that they use the locale parameter passed in instead.
|Routine|Test condition|Code page 932 example|
|-------------|--------------------|---------------------------|
-|[_ismbcalnum, _ismbcalnum_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Alphanumeric|Returns nonzero if and only if `c` is a single-byte representation of an ASCII English letter: See examples for `_ismbcdigit` and `_ismbcalpha`.|
-|[_ismbcalpha, _ismbcalpha_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII English letter: See examples for `_ismbcupper` and `_ismbclower`; or a katakana letter: 0xA6<=`c`<=0xDF.|
-|[_ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|Digit|Returns nonzero if and only if `c` is a single-byte representation of an ASCII digit: 0x30<=`c`<=0x39.|
-|[_ismbcgraph, _ismbcgraph_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Graphic|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana printable character except a white space ( ). See examples for `_ismbcdigit`, `_ismbcalpha`, and `_ismbcpunct`.|
-|[_ismbclegal, _ismbclegal_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Valid multibyte character|Returns nonzero if and only if the first byte of `c` is within ranges 0x81 - 0x9F or 0xE0 - 0xFC, while the second byte is within ranges 0x40 - 0x7E or 0x80 - FC.|
-|[_ismbclower, _ismbclower_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Lowercase alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII lowercase English letter: 0x61<=`c`<=0x7A.|
-|[_ismbcprint, _ismbcprint_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Printable|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana printable character including a white space ( ): See examples for `_ismbcspace`, `_ismbcdigit`, `_ismbcalpha`, and `_ismbcpunct`.|
-|[_ismbcpunct, _ismbcpunct_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Punctuation|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana punctuation character.|
-|[_ismbcblank, _ismbcblank_l,](../c-runtime-library/reference/ismbcgraph-functions.md)|Space or horizontal tab|Returns nonzero if and only if `c` is a single-byte representation of a space character or a horizontal tab character: `c`=0x20 or `c`=0x09.|
-|[_ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|Whitespace|Returns nonzero if and only if `c` is a white space character: `c`=0x20 or 0x09<=`c`<=0x0D.|
-|[_ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Multibyte symbol|Returns nonzero if and only if 0x8141<=`c`<=0x81AC.|
-|[_ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Uppercase alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII uppercase English letter: 0x41<=`c`<=0x5A.|
+|[_ismbcalnum, _ismbcalnum_l](./reference/ismbcalnum-functions.md)|Alphanumeric|Returns nonzero if and only if `c` is a single-byte representation of an ASCII English letter: See examples for `_ismbcdigit` and `_ismbcalpha`.|
+|[_ismbcalpha, _ismbcalpha_l](./reference/ismbcalnum-functions.md)|Alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII English letter: See examples for `_ismbcupper` and `_ismbclower`; or a katakana letter: 0xA6<=`c`<=0xDF.|
+|[_ismbcdigit, _ismbcdigit_l](./reference/ismbcalnum-functions.md)|Digit|Returns nonzero if and only if `c` is a single-byte representation of an ASCII digit: 0x30<=`c`<=0x39.|
+|[_ismbcgraph, _ismbcgraph_l](./reference/ismbcgraph-functions.md)|Graphic|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana printable character except a white space ( ). See examples for `_ismbcdigit`, `_ismbcalpha`, and `_ismbcpunct`.|
+|[_ismbclegal, _ismbclegal_l](./reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Valid multibyte character|Returns nonzero if and only if the first byte of `c` is within ranges 0x81 - 0x9F or 0xE0 - 0xFC, while the second byte is within ranges 0x40 - 0x7E or 0x80 - FC.|
+|[_ismbclower, _ismbclower_l](./reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Lowercase alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII lowercase English letter: 0x61<=`c`<=0x7A.|
+|[_ismbcprint, _ismbcprint_l](./reference/ismbcgraph-functions.md)|Printable|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana printable character including a white space ( ): See examples for `_ismbcspace`, `_ismbcdigit`, `_ismbcalpha`, and `_ismbcpunct`.|
+|[_ismbcpunct, _ismbcpunct_l](./reference/ismbcgraph-functions.md)|Punctuation|Returns nonzero if and only if `c` is a single-byte representation of any ASCII or katakana punctuation character.|
+|[_ismbcblank, _ismbcblank_l,](./reference/ismbcgraph-functions.md)|Space or horizontal tab|Returns nonzero if and only if `c` is a single-byte representation of a space character or a horizontal tab character: `c`=0x20 or `c`=0x09.|
+|[_ismbcspace, _ismbcspace_l](./reference/ismbcgraph-functions.md)|Whitespace|Returns nonzero if and only if `c` is a white space character: `c`=0x20 or 0x09<=`c`<=0x0D.|
+|[_ismbcsymbol, _ismbcsymbol_l](./reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|Multibyte symbol|Returns nonzero if and only if 0x8141<=`c`<=0x81AC.|
+|[_ismbcupper, _ismbcupper_l](./reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|Uppercase alphabetic|Returns nonzero if and only if `c` is a single-byte representation of an ASCII uppercase English letter: 0x41<=`c`<=0x5A.|
**Code Page 932 Specific**
@@ -51,18 +51,18 @@ The following routines are specific to code page 932.
|Routine|Test condition (code page 932 only)|
|-------------|-------------------------------------------|
-|[_ismbchira, _ismbchira_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Double-byte Hiragana: 0x829F<=`c`<=0x82F1.|
-|[_ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Double-byte katakana: 0x8340<=`c`<=0x8396.|
-|[_ismbcl0, _ismbcl0_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS non-Kanji: 0x8140<=`c`<=0x889E.|
-|[_ismbcl1, _ismbcl1_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS level-1: 0x889F<=`c`<=0x9872.|
-|[_ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS level-2: 0x989F<=`c`<=0xEA9E.|
+|[_ismbchira, _ismbchira_l](./reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Double-byte Hiragana: 0x829F<=`c`<=0x82F1.|
+|[_ismbckata, _ismbckata_l](./reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|Double-byte katakana: 0x8340<=`c`<=0x8396.|
+|[_ismbcl0, _ismbcl0_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS non-Kanji: 0x8140<=`c`<=0x889E.|
+|[_ismbcl1, _ismbcl1_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS level-1: 0x889F<=`c`<=0x9872.|
+|[_ismbcl2, _ismbcl2_l](./reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|JIS level-2: 0x989F<=`c`<=0xEA9E.|
-`_ismbcl0`, `_ismbcl1`, and `_ismbcl2` check that the specified value `c` matches the test conditions described in the preceding table, but don't check that `c` is a valid multibyte character. If the lower byte is in the ranges 0x00 - 0x3F, 0x7F, or 0xFD - 0xFF, these functions return a nonzero value, indicating that the character satisfies the test condition. Use [_ismbbtrail, _ismbbtrail_l](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md) to test whether the multibyte character is defined.
+`_ismbcl0`, `_ismbcl1`, and `_ismbcl2` check that the specified value `c` matches the test conditions described in the preceding table, but don't check that `c` is a valid multibyte character. If the lower byte is in the ranges 0x00 - 0x3F, 0x7F, or 0xFD - 0xFF, these functions return a nonzero value, indicating that the character satisfies the test condition. Use [_ismbbtrail, _ismbbtrail_l](./reference/ismbbtrail-ismbbtrail-l.md) to test whether the multibyte character is defined.
**END Code Page 932 Specific**
## See also
-[Character Classification](../c-runtime-library/character-classification.md)
-[is, isw Routines](../c-runtime-library/is-isw-routines.md)
-[_ismbb Routines](../c-runtime-library/ismbb-routines.md)
+[Character classification](./character-classification.md)\
+[is, isw Routines](./is-isw-routines.md)\
+[_ismbb Routines](./ismbb-routines.md)
diff --git a/docs/c-runtime-library/iso646-operators.md b/docs/c-runtime-library/iso646-operators.md
index f41faff7834..88743f2fc32 100644
--- a/docs/c-runtime-library/iso646-operators.md
+++ b/docs/c-runtime-library/iso646-operators.md
@@ -12,19 +12,19 @@ Provides readable alternatives to certain operators or punctuators. The standard
| Name | Description |
|--|--|
-| [`and`](../c-runtime-library/reference/and.md) | An alternative to the `&&` operator. |
-| [`and_eq`](../c-runtime-library/reference/and-eq.md) | An alternative to the `&=` operator. |
-| [`bitand`](../c-runtime-library/reference/bitand.md) | An alternative to the `&` operator. |
-| [`bitor`](../c-runtime-library/reference/bitor.md) | An alternative to the `|` operator. |
-| [`compl`](../c-runtime-library/reference/compl.md) | An alternative to the `~` operator. |
-| [`not`](../c-runtime-library/reference/not.md) | An alternative to the `!` operator. |
-| [`not_eq`](../c-runtime-library/reference/not-eq.md) | An alternative to the `!=` operator. |
-| [`or`](../c-runtime-library/reference/or.md) | An alternative to the `||` operator. |
-| [`or_eq`](../c-runtime-library/reference/or-eq.md) | An alternative to the `|=` operator. |
-| [`xor`](../c-runtime-library/reference/xor.md) | An alternative to the `^` operator. |
-| [`xor_eq`](../c-runtime-library/reference/xor-eq.md) | An alternative to the `^=` operator. |
+| [`and`](./reference/and.md) | An alternative to the `&&` operator. |
+| [`and_eq`](./reference/and-eq.md) | An alternative to the `&=` operator. |
+| [`bitand`](./reference/bitand.md) | An alternative to the `&` operator. |
+| [`bitor`](./reference/bitor.md) | An alternative to the `|` operator. |
+| [`compl`](./reference/compl.md) | An alternative to the `~` operator. |
+| [`not`](./reference/not.md) | An alternative to the `!` operator. |
+| [`not_eq`](./reference/not-eq.md) | An alternative to the `!=` operator. |
+| [`or`](./reference/or.md) | An alternative to the `||` operator. |
+| [`or_eq`](./reference/or-eq.md) | An alternative to the `|=` operator. |
+| [`xor`](./reference/xor.md) | An alternative to the `^` operator. |
+| [`xor_eq`](./reference/xor-eq.md) | An alternative to the `^=` operator. |
## See also
-[Internationalization](../c-runtime-library/internationalization.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Internationalization](./internationalization.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/language-strings.md b/docs/c-runtime-library/language-strings.md
index 26dc512fd94..9e4d1c6115d 100644
--- a/docs/c-runtime-library/language-strings.md
+++ b/docs/c-runtime-library/language-strings.md
@@ -4,9 +4,9 @@ description: "Learn more about: Language Strings"
ms.date: "1/12/2021"
helpviewer_keywords: ["language strings"]
---
-# Language Strings
+# Language strings
-The [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md) and [`_create_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md) functions can use the Windows NLS API supported languages on operating systems that don't use the Unicode code page. For a list of supported languages by operating system version, see [Appendix A: Product Behavior](/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) in \[MS-LCID]: Windows Language Code Identifier (LCID) Reference. The language string can be any of the values in the **Language** and **Language tag** columns of the list of supported languages. For example code that enumerates available locale names and related values, see [NLS: Name-based APIs Sample](/windows/win32/intl/nls--name-based-apis-sample).
+The [`setlocale`](./reference/setlocale-wsetlocale.md) and [`_create_locale`](./reference/create-locale-wcreate-locale.md) functions can use the Windows NLS API supported languages on operating systems that don't use the Unicode code page. For a list of supported languages by operating system version, see [Appendix A: Product Behavior](/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) in \[MS-LCID]: Windows Language Code Identifier (LCID) Reference. The language string can be any of the values in the **Language** and **Language tag** columns of the list of supported languages. For example code that enumerates available locale names and related values, see [NLS: Name-based APIs Sample](/windows/win32/intl/nls--name-based-apis-sample).
## Supported language strings
@@ -82,7 +82,7 @@ The Microsoft C run-time library implementation also supports these language str
## See also
-- [Locale Names, Languages, and Country/Region Strings](../c-runtime-library/locale-names-languages-and-country-region-strings.md)\
-- [Country/Region Strings](../c-runtime-library/country-region-strings.md)\
-- [`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md)\
-- [`_create_locale`, `_wcreate_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md)
+- [Locale names, Languages, and Country/Region strings](./locale-names-languages-and-country-region-strings.md)\
+- [Country/Region strings](./country-region-strings.md)\
+- [`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md)\
+- [`_create_locale`, `_wcreate_locale`](./reference/create-locale-wcreate-locale.md)
diff --git a/docs/c-runtime-library/lc-codepage-func.md b/docs/c-runtime-library/lc-codepage-func.md
index 0efecabe4f5..f7f2a55cf75 100644
--- a/docs/c-runtime-library/lc-codepage-func.md
+++ b/docs/c-runtime-library/lc-codepage-func.md
@@ -20,15 +20,15 @@ Internal CRT function. Retrieves the current code page of the thread.
UINT ___lc_codepage_func(void);
```
-## Return Value
+## Return value
The current code page of the thread.
## Remarks
-`___lc_codepage_func` is an internal CRT function that is used by other CRT functions to get the current code page from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](../c-runtime-library/reference/get-current-locale.md) function.
+`___lc_codepage_func` is an internal CRT function that is used by other CRT functions to get the current code page from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](./reference/get-current-locale.md) function.
-A *code page* is a mapping of single-byte or double-byte codes to individual characters. Different code pages include different special characters, typically customized for a language or a group of languages. For more information about code pages, see [Code Pages](../c-runtime-library/code-pages.md).
+A *code page* is a mapping of single-byte or double-byte codes to individual characters. Different code pages include different special characters, typically customized for a language or a group of languages. For more information about code pages, see [Code pages](./code-pages.md).
Internal CRT functions are implementation-specific and subject to change with each release. We don't recommend their use in your code.
@@ -42,7 +42,7 @@ By default, this function's global state is scoped to the application. To change
## See also
-[_get_current_locale](../c-runtime-library/reference/get-current-locale.md)
-[setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[_create_locale, _wcreate_locale](../c-runtime-library/reference/create-locale-wcreate-locale.md)
-[_free_locale](../c-runtime-library/reference/free-locale.md)
+[_get_current_locale](./reference/get-current-locale.md)\
+[setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md)\
+[_create_locale, _wcreate_locale](./reference/create-locale-wcreate-locale.md)\
+[_free_locale](./reference/free-locale.md)
diff --git a/docs/c-runtime-library/lc-collate-cp-func.md b/docs/c-runtime-library/lc-collate-cp-func.md
index 6a4d5c5d7b5..7b1e170b003 100644
--- a/docs/c-runtime-library/lc-collate-cp-func.md
+++ b/docs/c-runtime-library/lc-collate-cp-func.md
@@ -20,13 +20,13 @@ Internal CRT function. Retrieves the current collation code page of the thread.
UINT ___lc_codepage_func(void);
```
-## Return Value
+## Return value
The current collation code page of the thread.
## Remarks
-`___lc_collate_cp_func` is an internal CRT function that is used by other CRT functions to get the current collation code page from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](../c-runtime-library/reference/get-current-locale.md) function.
+`___lc_collate_cp_func` is an internal CRT function that is used by other CRT functions to get the current collation code page from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](./reference/get-current-locale.md) function.
Internal CRT functions are implementation-specific and subject to change with each release. We don't recommend their use in your code.
@@ -40,7 +40,7 @@ By default, this function's global state is scoped to the application. To change
## See also
-[_get_current_locale](../c-runtime-library/reference/get-current-locale.md)
-[setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[_create_locale, _wcreate_locale](../c-runtime-library/reference/create-locale-wcreate-locale.md)
-[_free_locale](../c-runtime-library/reference/free-locale.md)
+[_get_current_locale](./reference/get-current-locale.md)\
+[setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md)\
+[_create_locale, _wcreate_locale](./reference/create-locale-wcreate-locale.md)\
+[_free_locale](./reference/free-locale.md)
diff --git a/docs/c-runtime-library/lc-locale-name-func.md b/docs/c-runtime-library/lc-locale-name-func.md
index dcf7656f739..22f33ab32a2 100644
--- a/docs/c-runtime-library/lc-locale-name-func.md
+++ b/docs/c-runtime-library/lc-locale-name-func.md
@@ -20,13 +20,13 @@ Internal CRT function. Retrieves the current locale name of the thread.
wchar_t** ___lc_locale_name_func(void);
```
-## Return Value
+## Return value
A pointer to a string that contains the current locale name of the thread.
## Remarks
-`___lc_locale_name_func` is an internal CRT function that is used by other CRT functions to get the current locale name from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](../c-runtime-library/reference/get-current-locale.md) function or the [setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md) functions.
+`___lc_locale_name_func` is an internal CRT function that is used by other CRT functions to get the current locale name from the thread local storage for CRT data. This information is also available by using the [_get_current_locale](./reference/get-current-locale.md) function or the [setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md) functions.
Internal CRT functions are implementation-specific and subject to change with each release. We don't recommend their use in your code.
@@ -40,7 +40,7 @@ By default, this function's global state is scoped to the application. To change
## See also
-[_get_current_locale](../c-runtime-library/reference/get-current-locale.md)
-[setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[_create_locale, _wcreate_locale](../c-runtime-library/reference/create-locale-wcreate-locale.md)
-[_free_locale](../c-runtime-library/reference/free-locale.md)
+[_get_current_locale](./reference/get-current-locale.md)\
+[setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md)\
+[_create_locale, _wcreate_locale](./reference/create-locale-wcreate-locale.md)\
+[_free_locale](./reference/free-locale.md)
diff --git a/docs/c-runtime-library/link-options.md b/docs/c-runtime-library/link-options.md
index f134049d119..5be481c6252 100644
--- a/docs/c-runtime-library/link-options.md
+++ b/docs/c-runtime-library/link-options.md
@@ -5,7 +5,7 @@ ms.date: "11/04/2016"
helpviewer_keywords: ["nothrownew.obj", "newmode.obj", "noenv.obj", "psetargv.obj", "legacy_stdio_float_rounding.obj", "loosefpmath.obj", "smallheap.obj", "fp10.obj", "nochkclr.obj", "chkstk.obj", "pcommode.obj", "pnoenv.obj", "link options [C++]", "invalidcontinue.obj", "pnothrownew.obj", "pwsetargv.obj", "pinvalidcontinue.obj", "wsetargv.obj", "binmode.obj", "setargv.obj", "noarg.obj", "pnewmode.obj", "commode.obj", "pthreadlocale.obj", "pbinmode.obj", "threadlocale.obj", "pnoarg.obj"]
ms.assetid: 05b5a77b-9dd1-494b-ae46-314598c770bb
---
-# Link Options
+# Link options
The CRT lib directory includes several small object files that enable specific CRT features without any code change. These object files are called "link options" since you only have to add them to the linker command line to use them.
@@ -13,23 +13,23 @@ CLR pure mode versions of these objects are deprecated in Visual Studio 2015 and
|Native and /clr|Pure mode|Description|
|----------------------|---------------|-----------------|
-|binmode.obj|pbinmode.obj|Sets the default file-translation mode to binary. See [_fmode](../c-runtime-library/fmode.md).|
+|binmode.obj|pbinmode.obj|Sets the default file-translation mode to binary. See [_fmode](./fmode.md).|
|chkstk.obj|n/a|Provides stack-checking and alloca support when not using the CRT.|
-|commode.obj|pcommode.obj|Sets the global commit flag to "commit". See [fopen, _wfopen](../c-runtime-library/reference/fopen-wfopen.md) and [fopen_s, _wfopen_s](../c-runtime-library/reference/fopen-s-wfopen-s.md).|
+|commode.obj|pcommode.obj|Sets the global commit flag to "commit". See [fopen, _wfopen](./reference/fopen-wfopen.md) and [fopen_s, _wfopen_s](./reference/fopen-s-wfopen-s.md).|
|exe_initialize_mta.lib|n/a|Initializes the MTA apartment during EXE startup, which allows the use of COM objects in global smart pointers. Because this option leaks an MTA apartment reference during shutdown, don't use it for DLLs. Linking to this file is equivalent to including `combase.h` and defining `_EXE_INITIALIZE_MTA`. Using this link option adds [onecore.lib](/windows/win32/apiindex/windows-umbrella-libraries) to the default library list. If this effect is undesirable (such as using onecore_apiset.lib or other umbrella library), use [/NODEFAULTLIB](../build/reference/nodefaultlib-ignore-libraries.md) to override this behavior and provide an alternative. |
-|fp10.obj|n/a|Changes the default precision control to 64 bits. See [Floating-Point Support](../c-runtime-library/floating-point-support.md).|
+|fp10.obj|n/a|Changes the default precision control to 64 bits. See [Math and floating-point support](./floating-point-support.md).|
|invalidcontinue.obj|pinvalidcontinue.obj|Sets a default invalid parameter handler that does nothing, meaning that invalid parameters passed to CRT functions will just set errno and return an error result.|
-|legacy_stdio_float_rounding.obj|n/a|The printing of floating-point values (for example, when using [printf](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)) with the Windows 10 19041 Universal C Runtime has been fixed. It now properly rounds exactly representable floating-point numbers, and respects the floating-point rounding requested by [fesetround](../c-runtime-library/reference/fegetround-fesetround2.md). This behavior update is available in Visual Studio 2019 version 16.2 and later. Legacy behavior is used in earlier versions of Visual Studio, or by providing this link option.|
+|legacy_stdio_float_rounding.obj|n/a|The printing of floating-point values (for example, when using [printf](./reference/printf-printf-l-wprintf-wprintf-l.md)) with the Windows 10 19041 Universal C Runtime has been fixed. It now properly rounds exactly representable floating-point numbers, and respects the floating-point rounding requested by [fesetround](./reference/fegetround-fesetround2.md). This behavior update is available in Visual Studio 2019 version 16.2 and later. Legacy behavior is used in earlier versions of Visual Studio, or by providing this link option.|
|loosefpmath.obj|n/a|Ensures that floating point code tolerates denormal values.|
-|newmode.obj|pnewmode.obj|Causes [malloc](../c-runtime-library/reference/malloc.md) to call the new handler on failure. See [_set_new_mode](../c-runtime-library/reference/set-new-mode.md), [_set_new_handler](../c-runtime-library/reference/set-new-handler.md), [calloc](../c-runtime-library/reference/calloc.md), and [realloc](../c-runtime-library/reference/realloc.md).|
+|newmode.obj|pnewmode.obj|Causes [malloc](./reference/malloc.md) to call the new handler on failure. See [_set_new_mode](./reference/set-new-mode.md), [_set_new_handler](./reference/set-new-handler.md), [calloc](./reference/calloc.md), and [realloc](./reference/realloc.md).|
|noarg.obj|pnoarg.obj|Disables all processing of argc and argv.|
|nochkclr.obj|n/a|Does nothing. Remove from your project.|
|noenv.obj|pnoenv.obj|Disables the creation of a cached environment for the CRT.|
|nothrownew.obj|pnothrownew.obj|Enables the non-throwing version of new in the CRT. See [new and delete Operators](../cpp/new-and-delete-operators.md).|
-|setargv.obj|psetargv.obj|Enables command-line argument wildcard expansion. See [Expanding Wildcard Arguments](../c-language/expanding-wildcard-arguments.md).|
+|setargv.obj|psetargv.obj|Enables command-line argument wildcard expansion. See [Expanding wildcard arguments](../c-language/expanding-wildcard-arguments.md).|
|threadlocale.obj|pthreadlocale.obj|Enables per-thread locale for all new threads by default.|
-|wsetargv.obj|pwsetargv.obj|Enables command-line argument wildcard expansion. See [Expanding Wildcard Arguments](../c-language/expanding-wildcard-arguments.md).|
+|wsetargv.obj|pwsetargv.obj|Enables command-line argument wildcard expansion. See [Expanding wildcard arguments](../c-language/expanding-wildcard-arguments.md).|
## See also
-- [C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+- [C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/local-unwind2.md b/docs/c-runtime-library/local-unwind2.md
index a2f966ff64b..299f7dadfc3 100644
--- a/docs/c-runtime-library/local-unwind2.md
+++ b/docs/c-runtime-library/local-unwind2.md
@@ -39,4 +39,4 @@ When this method executes termination handlers, it starts at the current lexical
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)
diff --git a/docs/c-runtime-library/locale-categories.md b/docs/c-runtime-library/locale-categories.md
index 9a17ab8f5f8..85f6175e365 100644
--- a/docs/c-runtime-library/locale-categories.md
+++ b/docs/c-runtime-library/locale-categories.md
@@ -6,7 +6,7 @@ f1_keywords: ["LC_MAX", "LC_MIN", "LC_MONETARY", "LC_TIME", "LC_NUMERIC", "LC_CO
helpviewer_keywords: ["LC_MIN constant", "LC_MONETARY constant", "LC_CTYPE constant", "locale constants", "LC_MAX constant", "LC_ALL constant", "LC_TIME constant", "LC_NUMERIC constant", "LC_COLLATE constant"]
ms.assetid: 868f1493-fe5d-4722-acab-bfcd374a063a
---
-# Locale Categories
+# Locale categories
## Syntax
@@ -29,13 +29,13 @@ Locale categories are manifest constants used by the localization routines to sp
|`LC_NUMERIC`|Decimal-point character for formatted output routines (for example, `printf`), data conversion routines, and nonmonetary formatting information returned by `localeconv` function|
|`LC_TIME`|Behavior of `strftime` function|
-See [setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md) for an example.
+See [setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md) for an example.
## See also
-[localeconv](../c-runtime-library/reference/localeconv.md)
-[setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[strcoll Functions](../c-runtime-library/strcoll-functions.md)
-[strftime, wcsftime, _strftime_l, _wcsftime_l](../c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md)
-[strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l](../c-runtime-library/reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[localeconv](./reference/localeconv.md)\
+[setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md)\
+[strcoll Functions](./strcoll-functions.md)\
+[strftime, wcsftime, _strftime_l, _wcsftime_l](./reference/strftime-wcsftime-strftime-l-wcsftime-l.md)\
+[strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l](./reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/locale-names-languages-and-country-region-strings.md b/docs/c-runtime-library/locale-names-languages-and-country-region-strings.md
index 4e6583f7287..b39e014e617 100644
--- a/docs/c-runtime-library/locale-names-languages-and-country-region-strings.md
+++ b/docs/c-runtime-library/locale-names-languages-and-country-region-strings.md
@@ -8,7 +8,7 @@ ms.assetid: a0e5a0c5-5602-4da0-b65f-de3d6c8530a2
---
# UCRT Locale names, Languages, and Country/Region strings
-You can set the *`locale`* argument to the [`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md), [`_create_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md), and [`_wcreate_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md) functions in several ways. The locale can be set by using the locale names, languages, country/region codes, and code pages that are supported by the Windows NLS API. The *`locale`* argument takes one of the following forms:
+You can set the *`locale`* argument to the [`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md), [`_create_locale`](./reference/create-locale-wcreate-locale.md), and [`_wcreate_locale`](./reference/create-locale-wcreate-locale.md) functions in several ways. The locale can be set by using the locale names, languages, country/region codes, and code pages that are supported by the Windows NLS API. The *`locale`* argument takes one of the following forms:
> *`locale`* :: "*locale-name*"\
\| "*language*\[_*country-region*\[.*code-page*]]"\
@@ -17,11 +17,11 @@ You can set the *`locale`* argument to the [`setlocale`, `_wsetlocale`](../c-run
\| ""\
\| NULL
-The *locale-name* form is a short, IETF-standardized string; for example, `en-US` for English (United States) or `bs-Cyrl-BA` for Bosnian (Cyrillic, Bosnia and Herzegovina). These forms are preferred. For a list of supported locale names by Windows operating system version, see the **Language tag** column of the table in [Appendix A: Product Behavior](/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) in \[MS-LCID]: Windows Language Code Identifier (LCID) Reference. This resource lists the supported language, script, and region parts of the locale names. For information about the supported locale names that have non-default sort orders, see the **Locale name** column in [Sort Order Identifiers](/windows/win32/Intl/sort-order-identifiers). Under Windows 10 or later, locale names that correspond to valid [BCP-47](https://tools.ietf.org/html/bcp47) language tags are allowed. For example, `jp-US` is a valid BCP-47 tag, but it's effectively only `US` for locale functionality.
+The *locale-name* form is a short, IETF-standardized string; for example, `en-US` for English (United States) or `bs-Cyrl-BA` for Bosnian (Cyrillic, Bosnia and Herzegovina). These forms are preferred. For a list of supported locale names by Windows operating system version, see the **Language tag** column of the table in [Appendix A: Product Behavior](/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) in \[MS-LCID]: Windows Language Code Identifier (LCID) Reference. This resource lists the supported language, script, and region parts of the locale names. For information about the supported locale names that have non-default sort orders, see the **Locale name** column in [Sort order identifiers](/windows/win32/Intl/sort-order-identifiers). Under Windows 10 or later, locale names that correspond to valid [BCP-47](https://tools.ietf.org/html/bcp47) language tags are allowed. For example, `jp-US` is a valid BCP-47 tag, but it's effectively only `US` for locale functionality.
-The *language*\[**\_**_country-region_\[__.__*code-page*]] form is stored in the locale setting for a category when a language string, or language string and country or region string, is used to create the locale. The set of supported language strings is described in [Language Strings](../c-runtime-library/language-strings.md), and the list of supported country and region strings is listed in [Country/Region Strings](../c-runtime-library/country-region-strings.md). If the specified language isn't associated with the specified country or region, the default language for the specified country or region is stored in the locale setting. We don't recommend this form for locale strings embedded in code or serialized to storage: These strings are more likely to be changed by an operating system update than the locale name form.
+The *language*\[**\_**_country-region_\[__.__*code-page*]] form is stored in the locale setting for a category when a language string, or language string and country or region string, is used to create the locale. The set of supported language strings is described in [Language strings](./language-strings.md), and the list of supported country and region strings is listed in [Country/Region strings](./country-region-strings.md). If the specified language isn't associated with the specified country or region, the default language for the specified country or region is stored in the locale setting. We don't recommend this form for locale strings embedded in code or serialized to storage: These strings are more likely to be changed by an operating system update than the locale name form.
-The *code-page* is the ANSI/OEM code page that's associated with the locale. The code page is determined for you when you specify a locale by language or by language and country/region alone. The special value `.ACP` specifies the ANSI code page for the country/region. The special value `.OCP` specifies the OEM code page for the country/region. For example, if you specify `"Greek_Greece.ACP"` as the locale, the locale is stored as `Greek_Greece.1253` (the ANSI code page for Greek), and if you specify `"Greek_Greece.OCP"` as the locale, it's stored as `Greek_Greece.737` (the OEM code page for Greek). For more information about code pages, see [Code Pages](../c-runtime-library/code-pages.md). For a list of supported code pages on Windows, see [Code Page Identifiers](/windows/win32/Intl/code-page-identifiers).
+The *code-page* is the ANSI/OEM code page that's associated with the locale. The code page is determined for you when you specify a locale by language or by language and country/region alone. The special value `.ACP` specifies the ANSI code page for the country/region. The special value `.OCP` specifies the OEM code page for the country/region. For example, if you specify `"Greek_Greece.ACP"` as the locale, the locale is stored as `Greek_Greece.1253` (the ANSI code page for Greek), and if you specify `"Greek_Greece.OCP"` as the locale, it's stored as `Greek_Greece.737` (the OEM code page for Greek). For more information about code pages, see [Code pages](./code-pages.md). For a list of supported code pages on Windows, see [Code page identifiers](/windows/win32/Intl/code-page-identifiers).
If you use only the code page to specify the locale, the user's default language and country/region as reported by [GetUserDefaultLocaleName](/windows/win32/api/winnls/nf-winnls-getuserdefaultlocalename) are used. For example, if you specify `".1254"` (ANSI Turkish) as the locale for a user that's configured for English (United States), the locale that's stored is `English_United States.1254`. We don't recommend this form, because it could lead to inconsistent behavior.
@@ -41,13 +41,13 @@ _wsetlocale(LC_ALL, L"LC_MONETARY=en-GB;LC_TIME=es-ES");
## UTF-8 Support
-UTF-8 support can be enabled by using the UTF-8 code page in your locale string. For more information, see the [UTF-8 Support section of `setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md#utf-8-support).
+UTF-8 support can be enabled by using the UTF-8 code page in your locale string. For more information, see the [UTF-8 support section of `setlocale`](./reference/setlocale-wsetlocale.md#utf-8-support).
## See also
-[C Run-Time Library Reference](../c-runtime-library/c-run-time-library-reference.md)
-[_get_current_locale](../c-runtime-library/reference/get-current-locale.md)
-[setlocale, _wsetlocale](../c-runtime-library/reference/setlocale-wsetlocale.md)
-[_create_locale, _wcreate_locale](../c-runtime-library/reference/create-locale-wcreate-locale.md)
-[Language Strings](../c-runtime-library/language-strings.md)
-[Country/Region Strings](../c-runtime-library/country-region-strings.md)
+[C runtime library reference](./c-run-time-library-reference.md)\
+[_get_current_locale](./reference/get-current-locale.md)\
+[setlocale, _wsetlocale](./reference/setlocale-wsetlocale.md)\
+[_create_locale, _wcreate_locale](./reference/create-locale-wcreate-locale.md)\
+[Language strings](./language-strings.md)\
+[Country/Region strings](./country-region-strings.md)
diff --git a/docs/c-runtime-library/locale.md b/docs/c-runtime-library/locale.md
index 75f7d9a8451..a227d94f988 100644
--- a/docs/c-runtime-library/locale.md
+++ b/docs/c-runtime-library/locale.md
@@ -7,57 +7,57 @@ helpviewer_keywords: ["localization, locale", "country information", "language i
---
# Locale
-*Locale* refers to country/region and language settings that you can use to customize your program. Some locale-dependent categories include the display formats for dates and monetary values. For more information, see [Locale Categories](../c-runtime-library/locale-categories.md).
+*Locale* refers to country/region and language settings that you can use to customize your program. Some locale-dependent categories include the display formats for dates and monetary values. For more information, see [Locale categories](./locale-categories.md).
-Use the [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md) function to change or query some or all of the current program or thread locale information while using functions without the **`_l`** suffix. The functions with the **`_l`** suffix will use the locale parameter passed in for their locale information during the execution of that specific function only. To create a locale for use with a function with a **`_l`** suffix, use [`_create_locale`](../c-runtime-library/reference/create-locale-wcreate-locale.md). To free this locale, use [`_free_locale`](../c-runtime-library/reference/free-locale.md). To get the current locale, use [`_get_current_locale`](../c-runtime-library/reference/get-current-locale.md).
+Use the [`setlocale`](./reference/setlocale-wsetlocale.md) function to change or query some or all of the current program or thread locale information while using functions without the **`_l`** suffix. The functions with the **`_l`** suffix will use the locale parameter passed in for their locale information during the execution of that specific function only. To create a locale for use with a function with a **`_l`** suffix, use [`_create_locale`](./reference/create-locale-wcreate-locale.md). To free this locale, use [`_free_locale`](./reference/free-locale.md). To get the current locale, use [`_get_current_locale`](./reference/get-current-locale.md).
-Use [`_configthreadlocale`](../c-runtime-library/reference/configthreadlocale.md) to control whether each thread has its own locale, or all threads in a program share the same locale. For more information, see [Locales and Code Pages](../text/locales-and-code-pages.md).
+Use [`_configthreadlocale`](./reference/configthreadlocale.md) to control whether each thread has its own locale, or all threads in a program share the same locale. For more information, see [Locales and code pages](../text/locales-and-code-pages.md).
-More secure versions of the functions in the following table are available, indicated by the **`_s`** ("secure") suffix. For more information, see [Security Features in the CRT](../c-runtime-library/security-features-in-the-crt.md).
+More secure versions of the functions in the following table are available, indicated by the **`_s`** ("secure") suffix. For more information, see [Security features in the CRT](./security-features-in-the-crt.md).
-## Locale-Dependent Routines
+## Locale-dependent routines
|Routine|Use|**`setlocale`** category setting dependence|
|-------------|---------|---------------------------------------------|
-|[`atof`, `_atof_l`, `_wtof`, `_wtof_l`](../c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md)|Convert character to floating-point value|**`LC_NUMERIC`**|
-|[`atoi`, `_atoi_l`, `_wtoi`, `_wtoi_l`](../c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert character to integer value|**`LC_NUMERIC`**|
-|[`_atoi64`, `_atoi64_l`, `_wtoi64`, `_wtoi64_l`](../c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert character to 64-bit integer value|**`LC_NUMERIC`**|
-|[`atol`, `_atol_l`, `_wtol`, `_wtol_l`](../c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md)|Convert character to long value|**`LC_NUMERIC`**|
-|[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](../c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Convert character to double-long value|**`LC_NUMERIC`**|
-|[`is` Routines](../c-runtime-library/is-isw-routines.md)|Test given integer for particular condition.|**`LC_CTYPE`**|
-|[`isleadbyte`, `_isleadbyte_l`](../c-runtime-library/reference/isleadbyte-isleadbyte-l.md)|Test for lead byte|**`LC_CTYPE`**|
-|[`localeconv`](../c-runtime-library/reference/localeconv.md)|Read appropriate values for formatting numeric quantities|`LC_MONETARY, LC_NUMERIC`|
-|[`MB_CUR_MAX`](../c-runtime-library/mb-cur-max.md)|Maximum length in bytes of any multibyte character in current locale (macro defined in `STDLIB.H`)|**`LC_CTYPE`**|
-|[`_mbccpy`, `_mbccpy_l`](../c-runtime-library/reference/mbccpy-mbccpy-l.md),[`_mbccpy_s`, `_mbccpy_s_l`](../c-runtime-library/reference/mbccpy-s-mbccpy-s-l.md)|Copy one multibyte character|**`LC_CTYPE`**|
-|[`_mbclen`, `mblen`, `_mblen_l`](../c-runtime-library/reference/mbclen-mblen-mblen-l.md)|Validate and return number of bytes in multibyte character|**`LC_CTYPE`**|
-|[`strlen`, `wcslen`, `_mbslen`, `_mbslen_l`, `_mbstrlen`, `_mbstrlen_l`](../c-runtime-library/reference/strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)|For multibyte-character strings: validate each character in string; return string length|**`LC_CTYPE`**|
-|[`mbstowcs`, `_mbstowcs_l`](../c-runtime-library/reference/mbstowcs-mbstowcs-l.md),[`mbstowcs_s`, `_mbstowcs_s_l`](../c-runtime-library/reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|**`LC_CTYPE`**|
-|[`mbtowc`, `_mbtowc_l`](../c-runtime-library/reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|**`LC_CTYPE`**|
-|[`printf`](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md) functions|Write formatted output|**`LC_NUMERIC`** (determines radix character output)|
-|[`scanf`](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md) functions|Read formatted input|**`LC_NUMERIC`** (determines radix character recognition)|
-|[`setlocale`, `_wsetlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md)|Select locale for program|Not applicable|
-|[`strcoll`, `wcscoll`, `_mbscoll`, `_strcoll_l`, `_wcscoll_l`, `_mbscoll_l`](../c-runtime-library/reference/strcoll-wcscoll-mbscoll-strcoll-l-wcscoll-l-mbscoll-l.md)|Compare characters of two strings|**`LC_COLLATE`**|
-|[`_stricmp`, `_wcsicmp`, `_mbsicmp`, `_stricmp_l`, `_wcsicmp_l`, `_mbsicmp_l`](../c-runtime-library/reference/stricmp-wcsicmp-mbsicmp-stricmp-l-wcsicmp-l-mbsicmp-l.md)|Compare two strings without regard to case|**`LC_CTYPE`**|
-|[`_stricoll`, `_wcsicoll`, `_mbsicoll`, `_stricoll_l`, `_wcsicoll_l`, `_mbsicoll_l`](../c-runtime-library/reference/stricoll-wcsicoll-mbsicoll-stricoll-l-wcsicoll-l-mbsicoll-l.md)|Compare characters of two strings (case insensitive)|**`LC_COLLATE`**|
-|[`_strncoll`, `_wcsncoll`, `_mbsncoll`, `_strncoll_l`, `_wcsncoll_l`, `_mbsncoll_l`](../c-runtime-library/reference/strncoll-wcsncoll-mbsncoll-strncoll-l-wcsncoll-l-mbsncoll-l.md)|Compare first **`n`** characters of two strings|**`LC_COLLATE`**|
-|[`_strnicmp`, `_wcsnicmp`, `_mbsnicmp`, `_strnicmp_l`, `_wcsnicmp_l`, `_mbsnicmp_l`](../c-runtime-library/reference/strnicmp-wcsnicmp-mbsnicmp-strnicmp-l-wcsnicmp-l-mbsnicmp-l.md)|Compare characters of two strings without regard to case.|**`LC_CTYPE`**|
-|[`_strnicoll`, `_wcsnicoll`, `_mbsnicoll`, `_strnicoll_l`, `_wcsnicoll_l`, `_mbsnicoll_l`](../c-runtime-library/reference/strnicoll-wcsnicoll-mbsnicoll-strnicoll-l-wcsnicoll-l-mbsnicoll-l.md)|Compare first **`n`** characters of two strings (case insensitive)|**`LC_COLLATE`**|
-|[`strftime`, `wcsftime`, `_strftime_l`, `_wcsftime_l`](../c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md)|Format date and time value according to supplied **`format`** argument|**`LC_TIME`**|
-|[`_strlwr`, `_wcslwr`, `_mbslwr`, `_strlwr_l`, `_wcslwr_l`, `_mbslwr_l`](../c-runtime-library/reference/strlwr-wcslwr-mbslwr-strlwr-l-wcslwr-l-mbslwr-l.md),[`_strlwr_s`, `_strlwr_s_l`, `_mbslwr_s`, `_mbslwr_s_l`, `_wcslwr_s`, `_wcslwr_s_l`](../c-runtime-library/reference/strlwr-s-strlwr-s-l-mbslwr-s-mbslwr-s-l-wcslwr-s-wcslwr-s-l.md)|Convert, in place, each uppercase letter in given string to lowercase|**`LC_CTYPE`**|
-|[`strtod`, `_strtod_l`, `wcstod`, `_wcstod_l`](../c-runtime-library/reference/strtod-strtod-l-wcstod-wcstod-l.md)|Convert character string to **`double`** value|**`LC_NUMERIC`** (determines radix character recognition)|
-|[`strtol`, `wcstol`, `_strtol_l`, `_wcstol_l`](../c-runtime-library/reference/strtol-wcstol-strtol-l-wcstol-l.md)|Convert character string to **`long`** value|**`LC_NUMERIC`** (determines radix character recognition)|
-|[`strtoul`, `_strtoul_l`, `wcstoul`, `_wcstoul_l`](../c-runtime-library/reference/strtoul-strtoul-l-wcstoul-wcstoul-l.md)|Convert character string to unsigned long value|**`LC_NUMERIC`** (determines radix character recognition)|
-|[`_strupr`, `_strupr_l`, `_mbsupr`, `_mbsupr_l`, `_wcsupr_l`, `_wcsupr`](../c-runtime-library/reference/strupr-strupr-l-mbsupr-mbsupr-l-wcsupr-l-wcsupr.md),[`_strupr_s`, `_strupr_s_l`, `_mbsupr_s`, `_mbsupr_s_l`, `_wcsupr_s`, `_wcsupr_s_l`](../c-runtime-library/reference/strupr-s-strupr-s-l-mbsupr-s-mbsupr-s-l-wcsupr-s-wcsupr-s-l.md)|Convert, in place, each lowercase letter in string to uppercase|**`LC_CTYPE`**|
-|[`strxfrm`, `wcsxfrm`, `_strxfrm_l`, `_wcsxfrm_l`](../c-runtime-library/reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)|Transform string into collated form according to locale|**`LC_COLLATE`**|
-|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md),[`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](../c-runtime-library/reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Convert given character to corresponding lowercase character|**`LC_CTYPE`**|
-|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md),[`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](../c-runtime-library/reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Convert given character to corresponding uppercase letter|**`LC_CTYPE`**|
-|[`wcstombs`, `_wcstombs_l`](../c-runtime-library/reference/wcstombs-wcstombs-l.md),[`wcstombs_s`, `_wcstombs_s_l`](../c-runtime-library/reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|**`LC_CTYPE`**|
-|[`wctomb`, `_wctomb_l`](../c-runtime-library/reference/wctomb-wctomb-l.md),[`wctomb_s`, `_wctomb_s_l`](../c-runtime-library/reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|**`LC_CTYPE`**|
+|[`atof`, `_atof_l`, `_wtof`, `_wtof_l`](./reference/atof-atof-l-wtof-wtof-l.md)|Convert character to floating-point value|**`LC_NUMERIC`**|
+|[`atoi`, `_atoi_l`, `_wtoi`, `_wtoi_l`](./reference/atoi-atoi-l-wtoi-wtoi-l.md)|Convert character to integer value|**`LC_NUMERIC`**|
+|[`_atoi64`, `_atoi64_l`, `_wtoi64`, `_wtoi64_l`](./reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md)|Convert character to 64-bit integer value|**`LC_NUMERIC`**|
+|[`atol`, `_atol_l`, `_wtol`, `_wtol_l`](./reference/atol-atol-l-wtol-wtol-l.md)|Convert character to long value|**`LC_NUMERIC`**|
+|[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](./reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)|Convert character to double-long value|**`LC_NUMERIC`**|
+|[`is` Routines](./is-isw-routines.md)|Test given integer for particular condition.|**`LC_CTYPE`**|
+|[`isleadbyte`, `_isleadbyte_l`](./reference/isleadbyte-isleadbyte-l.md)|Test for lead byte|**`LC_CTYPE`**|
+|[`localeconv`](./reference/localeconv.md)|Read appropriate values for formatting numeric quantities|`LC_MONETARY, LC_NUMERIC`|
+|[`MB_CUR_MAX`](./mb-cur-max.md)|Maximum length in bytes of any multibyte character in current locale (macro defined in `STDLIB.H`)|**`LC_CTYPE`**|
+|[`_mbccpy`, `_mbccpy_l`](./reference/mbccpy-mbccpy-l.md),[`_mbccpy_s`, `_mbccpy_s_l`](./reference/mbccpy-s-mbccpy-s-l.md)|Copy one multibyte character|**`LC_CTYPE`**|
+|[`_mbclen`, `mblen`, `_mblen_l`](./reference/mbclen-mblen-mblen-l.md)|Validate and return number of bytes in multibyte character|**`LC_CTYPE`**|
+|[`strlen`, `wcslen`, `_mbslen`, `_mbslen_l`, `_mbstrlen`, `_mbstrlen_l`](./reference/strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)|For multibyte-character strings: validate each character in string; return string length|**`LC_CTYPE`**|
+|[`mbstowcs`, `_mbstowcs_l`](./reference/mbstowcs-mbstowcs-l.md),[`mbstowcs_s`, `_mbstowcs_s_l`](./reference/mbstowcs-s-mbstowcs-s-l.md)|Convert sequence of multibyte characters to corresponding sequence of wide characters|**`LC_CTYPE`**|
+|[`mbtowc`, `_mbtowc_l`](./reference/mbtowc-mbtowc-l.md)|Convert multibyte character to corresponding wide character|**`LC_CTYPE`**|
+|[`printf`](./reference/printf-printf-l-wprintf-wprintf-l.md) functions|Write formatted output|**`LC_NUMERIC`** (determines radix character output)|
+|[`scanf`](./reference/scanf-scanf-l-wscanf-wscanf-l.md) functions|Read formatted input|**`LC_NUMERIC`** (determines radix character recognition)|
+|[`setlocale`, `_wsetlocale`](./reference/setlocale-wsetlocale.md)|Select locale for program|Not applicable|
+|[`strcoll`, `wcscoll`, `_mbscoll`, `_strcoll_l`, `_wcscoll_l`, `_mbscoll_l`](./reference/strcoll-wcscoll-mbscoll-strcoll-l-wcscoll-l-mbscoll-l.md)|Compare characters of two strings|**`LC_COLLATE`**|
+|[`_stricmp`, `_wcsicmp`, `_mbsicmp`, `_stricmp_l`, `_wcsicmp_l`, `_mbsicmp_l`](./reference/stricmp-wcsicmp-mbsicmp-stricmp-l-wcsicmp-l-mbsicmp-l.md)|Compare two strings without regard to case|**`LC_CTYPE`**|
+|[`_stricoll`, `_wcsicoll`, `_mbsicoll`, `_stricoll_l`, `_wcsicoll_l`, `_mbsicoll_l`](./reference/stricoll-wcsicoll-mbsicoll-stricoll-l-wcsicoll-l-mbsicoll-l.md)|Compare characters of two strings (case insensitive)|**`LC_COLLATE`**|
+|[`_strncoll`, `_wcsncoll`, `_mbsncoll`, `_strncoll_l`, `_wcsncoll_l`, `_mbsncoll_l`](./reference/strncoll-wcsncoll-mbsncoll-strncoll-l-wcsncoll-l-mbsncoll-l.md)|Compare first **`n`** characters of two strings|**`LC_COLLATE`**|
+|[`_strnicmp`, `_wcsnicmp`, `_mbsnicmp`, `_strnicmp_l`, `_wcsnicmp_l`, `_mbsnicmp_l`](./reference/strnicmp-wcsnicmp-mbsnicmp-strnicmp-l-wcsnicmp-l-mbsnicmp-l.md)|Compare characters of two strings without regard to case.|**`LC_CTYPE`**|
+|[`_strnicoll`, `_wcsnicoll`, `_mbsnicoll`, `_strnicoll_l`, `_wcsnicoll_l`, `_mbsnicoll_l`](./reference/strnicoll-wcsnicoll-mbsnicoll-strnicoll-l-wcsnicoll-l-mbsnicoll-l.md)|Compare first **`n`** characters of two strings (case insensitive)|**`LC_COLLATE`**|
+|[`strftime`, `wcsftime`, `_strftime_l`, `_wcsftime_l`](./reference/strftime-wcsftime-strftime-l-wcsftime-l.md)|Format date and time value according to supplied **`format`** argument|**`LC_TIME`**|
+|[`_strlwr`, `_wcslwr`, `_mbslwr`, `_strlwr_l`, `_wcslwr_l`, `_mbslwr_l`](./reference/strlwr-wcslwr-mbslwr-strlwr-l-wcslwr-l-mbslwr-l.md),[`_strlwr_s`, `_strlwr_s_l`, `_mbslwr_s`, `_mbslwr_s_l`, `_wcslwr_s`, `_wcslwr_s_l`](./reference/strlwr-s-strlwr-s-l-mbslwr-s-mbslwr-s-l-wcslwr-s-wcslwr-s-l.md)|Convert, in place, each uppercase letter in given string to lowercase|**`LC_CTYPE`**|
+|[`strtod`, `_strtod_l`, `wcstod`, `_wcstod_l`](./reference/strtod-strtod-l-wcstod-wcstod-l.md)|Convert character string to **`double`** value|**`LC_NUMERIC`** (determines radix character recognition)|
+|[`strtol`, `wcstol`, `_strtol_l`, `_wcstol_l`](./reference/strtol-wcstol-strtol-l-wcstol-l.md)|Convert character string to **`long`** value|**`LC_NUMERIC`** (determines radix character recognition)|
+|[`strtoul`, `_strtoul_l`, `wcstoul`, `_wcstoul_l`](./reference/strtoul-strtoul-l-wcstoul-wcstoul-l.md)|Convert character string to unsigned long value|**`LC_NUMERIC`** (determines radix character recognition)|
+|[`_strupr`, `_strupr_l`, `_mbsupr`, `_mbsupr_l`, `_wcsupr_l`, `_wcsupr`](./reference/strupr-strupr-l-mbsupr-mbsupr-l-wcsupr-l-wcsupr.md),[`_strupr_s`, `_strupr_s_l`, `_mbsupr_s`, `_mbsupr_s_l`, `_wcsupr_s`, `_wcsupr_s_l`](./reference/strupr-s-strupr-s-l-mbsupr-s-mbsupr-s-l-wcsupr-s-wcsupr-s-l.md)|Convert, in place, each lowercase letter in string to uppercase|**`LC_CTYPE`**|
+|[`strxfrm`, `wcsxfrm`, `_strxfrm_l`, `_wcsxfrm_l`](./reference/strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)|Transform string into collated form according to locale|**`LC_COLLATE`**|
+|[`tolower`, `_tolower`, `towlower`, `_tolower_l`, `_towlower_l`](./reference/tolower-tolower-towlower-tolower-l-towlower-l.md),[`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](./reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Convert given character to corresponding lowercase character|**`LC_CTYPE`**|
+|[`toupper`, `_toupper`, `towupper`, `_toupper_l`, `_towupper_l`](./reference/toupper-toupper-towupper-toupper-l-towupper-l.md),[`_mbctolower`, `_mbctolower_l`, `_mbctoupper`, `_mbctoupper_l`](./reference/mbctolower-mbctolower-l-mbctoupper-mbctoupper-l.md)|Convert given character to corresponding uppercase letter|**`LC_CTYPE`**|
+|[`wcstombs`, `_wcstombs_l`](./reference/wcstombs-wcstombs-l.md),[`wcstombs_s`, `_wcstombs_s_l`](./reference/wcstombs-s-wcstombs-s-l.md)|Convert sequence of wide characters to corresponding sequence of multibyte characters|**`LC_CTYPE`**|
+|[`wctomb`, `_wctomb_l`](./reference/wctomb-wctomb-l.md),[`wctomb_s`, `_wctomb_s_l`](./reference/wctomb-s-wctomb-s-l.md)|Convert wide character to corresponding multibyte character|**`LC_CTYPE`**|
> [!NOTE]
-> For multibyte routines, the multibyte code page must be equivalent to the locale set with [`setlocale`](../c-runtime-library/reference/setlocale-wsetlocale.md). [`_setmbcp`](../c-runtime-library/reference/setmbcp.md), with an argument of **`_MB_CP_LOCALE`** makes the multibyte code page the same as the **`setlocale`** code page.
+> For multibyte routines, the multibyte code page must be equivalent to the locale set with [`setlocale`](./reference/setlocale-wsetlocale.md). [`_setmbcp`](./reference/setmbcp.md), with an argument of **`_MB_CP_LOCALE`** makes the multibyte code page the same as the **`setlocale`** code page.
## See also
-[Internationalization](../c-runtime-library/internationalization.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Internationalization](./internationalization.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/lock.md b/docs/c-runtime-library/lock.md
index 9f010b68b0b..2a2aef42780 100644
--- a/docs/c-runtime-library/lock.md
+++ b/docs/c-runtime-library/lock.md
@@ -40,5 +40,5 @@ If the lock has already been acquired, this method acquires the lock anyway and
## See also
-[Alphabetical Function Reference](../c-runtime-library/reference/crt-alphabetical-function-reference.md)
-[_unlock](../c-runtime-library/unlock.md)
+[Alphabetical function reference](./reference/crt-alphabetical-function-reference.md)\
+[_unlock](./unlock.md)
diff --git a/docs/c-runtime-library/locking-constants.md b/docs/c-runtime-library/locking-constants.md
index f002bdb30fe..9b25babfe61 100644
--- a/docs/c-runtime-library/locking-constants.md
+++ b/docs/c-runtime-library/locking-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["_LK_RLCK", "_LK_NBLCK", "_LK_LOCK", "_LK_NBRLCK", "_LK_UNLCK"]
helpviewer_keywords: ["LK_UNLCK constant", "LK_NBRLCK constant", "_LK_NBRLCK constant", "_LK_NBLCK constant", "_LK_LOCK constant", "LK_NBLCK constant", "_LK_UNLCK constant", "LK_RLCK constant", "_LK_RLCK constant", "LK_LOCK constant"]
ms.assetid: c3dc92c8-60e3-4d29-9f50-5d217627c8ad
---
-# _locking Constants
+# _locking constants
## Syntax
@@ -30,5 +30,5 @@ The *mode* argument must be one of the following manifest constants.
## See also
-[_locking](../c-runtime-library/reference/locking.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_locking](./reference/locking.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/low-level-i-o.md b/docs/c-runtime-library/low-level-i-o.md
index a89631b3813..f89cf6df174 100644
--- a/docs/c-runtime-library/low-level-i-o.md
+++ b/docs/c-runtime-library/low-level-i-o.md
@@ -4,7 +4,7 @@ title: "Low-Level I/O"
ms.date: "11/04/2016"
helpviewer_keywords: ["I/O [CRT], low-level", "I/O [CRT], functions", "low-level I/O routines", "file handles [C++]", "file handles [C++], I/O functions"]
---
-# Low-Level I/O
+# Low-level I/O
These functions invoke the operating system directly for lower-level operation than that provided by stream I/O. Low-level input and output calls don't buffer or format data.
@@ -16,30 +16,30 @@ Low-level routines can access the standard streams opened at program startup usi
|**`stdout`**|1|
|**`stderr`**|2|
-Low-level I/O routines set the [`errno`](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) global variable when an error occurs. You must include `STDIO.H` when you use low-level functions only if your program requires a constant that is defined in `STDIO.H`, such as the end-of-file indicator (**`EOF`**).
+Low-level I/O routines set the [`errno`](./errno-doserrno-sys-errlist-and-sys-nerr.md) global variable when an error occurs. You must include `STDIO.H` when you use low-level functions only if your program requires a constant that is defined in `STDIO.H`, such as the end-of-file indicator (**`EOF`**).
-## Low-Level I/O Functions
+## Low-level I/O functions
|Function|Use|
|--------------|---------|
-|[`_close`](../c-runtime-library/reference/close.md)|Close file|
-|[`_commit`](../c-runtime-library/reference/commit.md)|Flush file to disk|
-|[`_creat`, `_wcreat`](../c-runtime-library/reference/creat-wcreat.md)|Create file|
-|[`_dup`](../c-runtime-library/reference/dup-dup2.md)|Return next available file descriptor for given file|
-|[`_dup2`](../c-runtime-library/reference/dup-dup2.md)|Create second descriptor for given file|
-|[`_eof`](../c-runtime-library/reference/eof.md)|Test for end of file|
-|[`_lseek`, `_lseeki64`](../c-runtime-library/reference/lseek-lseeki64.md)|Reposition file pointer to given location|
-|[`_open`, `_wopen`](../c-runtime-library/reference/open-wopen.md)|Open file|
-|[`_read`](../c-runtime-library/reference/read.md)|Read data from file|
-|[`_sopen`, `_wsopen`](../c-runtime-library/reference/sopen-wsopen.md), [`_sopen_s`, `_wsopen_s`](../c-runtime-library/reference/sopen-s-wsopen-s.md)|Open file for file sharing|
-|[`_tell`, `_telli64`](../c-runtime-library/reference/tell-telli64.md)|Get current file-pointer position|
-|[`_umask`](../c-runtime-library/reference/umask.md), [`_umask_s`](../c-runtime-library/reference/umask-s.md)|Set file-permission mask|
-|[`_write`](../c-runtime-library/reference/write.md)|Write data to file|
+|[`_close`](./reference/close.md)|Close file|
+|[`_commit`](./reference/commit.md)|Flush file to disk|
+|[`_creat`, `_wcreat`](./reference/creat-wcreat.md)|Create file|
+|[`_dup`](./reference/dup-dup2.md)|Return next available file descriptor for given file|
+|[`_dup2`](./reference/dup-dup2.md)|Create second descriptor for given file|
+|[`_eof`](./reference/eof.md)|Test for end of file|
+|[`_lseek`, `_lseeki64`](./reference/lseek-lseeki64.md)|Reposition file pointer to given location|
+|[`_open`, `_wopen`](./reference/open-wopen.md)|Open file|
+|[`_read`](./reference/read.md)|Read data from file|
+|[`_sopen`, `_wsopen`](./reference/sopen-wsopen.md), [`_sopen_s`, `_wsopen_s`](./reference/sopen-s-wsopen-s.md)|Open file for file sharing|
+|[`_tell`, `_telli64`](./reference/tell-telli64.md)|Get current file-pointer position|
+|[`_umask`](./reference/umask.md), [`_umask_s`](./reference/umask-s.md)|Set file-permission mask|
+|[`_write`](./reference/write.md)|Write data to file|
**`_dup`** and **`_dup2`** are typically used to associate the predefined file descriptors with different files.
## See also
-[Input and Output](../c-runtime-library/input-and-output.md)\
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)\
-[System Calls](../c-runtime-library/system-calls.md)
+[Input and output](./input-and-output.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)\
+[System calls](./system-calls.md)
diff --git a/docs/c-runtime-library/math-constants.md b/docs/c-runtime-library/math-constants.md
index 2ec04065df2..0aa3a54dadf 100644
--- a/docs/c-runtime-library/math-constants.md
+++ b/docs/c-runtime-library/math-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["c.constants.math"]
helpviewer_keywords: ["M_PI constant", "M_PI_2 constant", "math constants", "M_2_PI constant", "M_1_PI constant", "M_E constant", "USE_MATH_DEFINES constant", "M_LOG2E constant", "M_LOG10E constant", "M_LN10 constant", "M_SQRT1_2 constant", "_USE_MATH_DEFINES constant", "M_PI_4 constant", "constants, math", "M_2_SQRTPI constant", "M_SQRT2 constant", "M_LN2 constant"]
ms.assetid: db533c3f-6ae8-4520-9d35-c8fabbef3529
---
-# Math Constants
+# Math constants
Microsoft provides several predefined preprocessor macros for common math constants.
@@ -46,4 +46,4 @@ The file `` includes `` when your project is built in Rele
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/math-error-constants.md b/docs/c-runtime-library/math-error-constants.md
index 394f6be7e7b..b239c5fc714 100644
--- a/docs/c-runtime-library/math-error-constants.md
+++ b/docs/c-runtime-library/math-error-constants.md
@@ -6,7 +6,7 @@ f1_keywords: ["_PLOSS", "_UNDERFLOW", "_TLOSS", "_SING", "_DOMAIN", "_OVERFLOW"]
helpviewer_keywords: ["_TLOSS constant", "_SING constant", "PLOSS constant", "UNDERFLOW constant", "_UNDERFLOW constant", "_OVERFLOW constant", "DOMAIN constant", "OVERFLOW constant", "TLOSS constant", "SING constant", "_DOMAIN constant", "_PLOSS constant", "math error constants"]
ms.assetid: 4be933a6-674e-45a5-8ac9-090023542f5b
---
-# Math Error Constants
+# Math error constants
## Syntax
@@ -31,5 +31,5 @@ These errors, described as follows, correspond to the exception types defined in
## See also
-[_matherr](../c-runtime-library/reference/matherr.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[_matherr](./reference/matherr.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/max-env.md b/docs/c-runtime-library/max-env.md
index 040f8e0d817..bd7894c77e5 100644
--- a/docs/c-runtime-library/max-env.md
+++ b/docs/c-runtime-library/max-env.md
@@ -18,5 +18,5 @@ The maximum permissible string length of an environmental variable.
## See also
-[Environmental Constants](../c-runtime-library/environmental-constants.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[Environmental constants](./environmental-constants.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md b/docs/c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md
index b0658c67b5b..a9566d294e0 100644
--- a/docs/c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md
+++ b/docs/c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md
@@ -28,13 +28,13 @@ int * __p___mb_cur_max(void);
*`locale`*\
The locale structure to retrieve the result from. If this value is null, the current thread locale is used.
-## Return Value
+## Return value
The maximum number of bytes in a multibyte character for the current thread locale or the specified locale.
## Remarks
-`___mb_cur_max_func` is an internal function that the CRT uses to retrieve the current value of the [`MB_CUR_MAX`](../c-runtime-library/mb-cur-max.md) macro from thread local storage. We recommend that you use the `MB_CUR_MAX` macro in your code for portability.
+`___mb_cur_max_func` is an internal function that the CRT uses to retrieve the current value of the [`MB_CUR_MAX`](./mb-cur-max.md) macro from thread local storage. We recommend that you use the `MB_CUR_MAX` macro in your code for portability.
The `__mb_cur_max` macro is a convenient way to call the `___mb_cur_max_func()` function. The `__p___mb_cur_max` function is defined for compatibility with Visual C++ 5.0 and earlier versions.
@@ -50,4 +50,4 @@ By default, this function's global state is scoped to the application. To change
## See also
-[MB_CUR_MAX](../c-runtime-library/mb-cur-max.md)
+[MB_CUR_MAX](./mb-cur-max.md)
diff --git a/docs/c-runtime-library/mb-cur-max.md b/docs/c-runtime-library/mb-cur-max.md
index 259ce065457..e468e93bf90 100644
--- a/docs/c-runtime-library/mb-cur-max.md
+++ b/docs/c-runtime-library/mb-cur-max.md
@@ -24,12 +24,12 @@ The value of `MB_CUR_MAX` is the maximum number of bytes in a multibyte characte
## See also
-[`_mbclen`, `mblen`, `_mblen_l`](../c-runtime-library/reference/mbclen-mblen-mblen-l.md)
-[`mbstowcs`, `_mbstowcs_l`](../c-runtime-library/reference/mbstowcs-mbstowcs-l.md)
-[`mbtowc`, `_mbtowc_l`](../c-runtime-library/reference/mbtowc-mbtowc-l.md)
-[`___mb_cur_max_func`, `___mb_cur_max_l_func`, `__p___mb_cur_max`, `__mb_cur_max`](../c-runtime-library/mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)
-[Standard Types](../c-runtime-library/standard-types.md)
-[`wcstombs`, `_wcstombs_l`](../c-runtime-library/reference/wcstombs-wcstombs-l.md)
-[`wctomb`, `_wctomb_l`](../c-runtime-library/reference/wctomb-wctomb-l.md)
-[Data Type Constants](../c-runtime-library/data-type-constants.md)
-[Global Constants](../c-runtime-library/global-constants.md)
+[`_mbclen`, `mblen`, `_mblen_l`](./reference/mbclen-mblen-mblen-l.md)\
+[`mbstowcs`, `_mbstowcs_l`](./reference/mbstowcs-mbstowcs-l.md)\
+[`mbtowc`, `_mbtowc_l`](./reference/mbtowc-mbtowc-l.md)\
+[`___mb_cur_max_func`, `___mb_cur_max_l_func`, `__p___mb_cur_max`, `__mb_cur_max`](./mb-cur-max-func-mb-cur-max-l-func-p-mb-cur-max-mb-cur-max.md)\
+[Standard types](./standard-types.md)\
+[`wcstombs`, `_wcstombs_l`](./reference/wcstombs-wcstombs-l.md)\
+[`wctomb`, `_wctomb_l`](./reference/wctomb-wctomb-l.md)\
+[Data type constants](./data-type-constants.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/memory-allocation.md b/docs/c-runtime-library/memory-allocation.md
index 09a9aeca3c5..264fdecac67 100644
--- a/docs/c-runtime-library/memory-allocation.md
+++ b/docs/c-runtime-library/memory-allocation.md
@@ -13,33 +13,33 @@ These routines allocate, free, and reallocate memory.
|Routine|Use|
|-------------|---------|
-|[`_alloca`](../c-runtime-library/reference/alloca.md), [`_malloca`](../c-runtime-library/reference/malloca.md)|Allocate memory from the stack|
-|[`calloc`](../c-runtime-library/reference/calloc.md)|Allocate an array and initialize its elements to 0 (zero)|
-|[`_calloc_dbg`](../c-runtime-library/reference/calloc-dbg.md)|Debug version of **`calloc`**. Only available in the debug versions of the run-time libraries|
-|[`operator delete`, `operator delete[]`](../c-runtime-library/delete-operator-crt.md)|Free memory allocated on the heap |
-|[`_expand`](../c-runtime-library/reference/expand.md)|Expand or shrink a block of memory without moving it|
-|[`_expand_dbg`](../c-runtime-library/reference/expand-dbg.md)|Debug version of **`_expand`**. Only available in the debug versions of the run-time libraries|
-|[`free`](../c-runtime-library/reference/free.md)|Free memory allocated on the heap|
-|[`_free_dbg`](../c-runtime-library/reference/free-dbg.md)|Debug version of **`free`**. Only available in the debug versions of the run-time libraries|
-|[`_freea`](../c-runtime-library/reference/freea.md)|Free memory allocated on the stack|
-|[`_get_heap_handle`](../c-runtime-library/reference/get-heap-handle.md)|Get a Win32 `HANDLE` to the C runtime (CRT) heap.|
-|[`_heapadd`](../c-runtime-library/heapadd.md)|Add memory to the heap|
-|[`_heapchk`](../c-runtime-library/reference/heapchk.md)|Check the heap for consistency|
-|[`_heapmin`](../c-runtime-library/reference/heapmin.md)|Release unused memory in the heap|
-|[`_heapset`](../c-runtime-library/heapset.md)|Fill free heap entries with a value|
-|[`_heapwalk`](../c-runtime-library/reference/heapwalk.md)|Get info about each entry in the heap|
-|[`malloc`](../c-runtime-library/reference/malloc.md)|Allocate memory from the heap|
-|[`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md)|Debug version of **`malloc`**; only available in the debug versions of the run-time libraries|
-|[`_msize`](../c-runtime-library/reference/msize.md)|Return the size of an allocated block of memory|
-|[`_msize_dbg`](../c-runtime-library/reference/msize-dbg.md)|Debug version of **`_msize`**; only available in the debug versions of the run-time libraries|
-|[`new`, `new[]`](../c-runtime-library/new-operator-crt.md)|Allocate a block of memory from the heap|
-|[`_query_new_handler`](../c-runtime-library/reference/query-new-handler.md)|Get the address of the current new handler routine set by **`_set_new_handler`**|
-|[`_query_new_mode`](../c-runtime-library/reference/query-new-mode.md)|Get the new handler mode set by **`_set_new_mode`** for **`malloc`**|
-|[`realloc`](../c-runtime-library/reference/realloc.md)|Reallocate a block to a new size|
-|[`_realloc_dbg`](../c-runtime-library/reference/realloc-dbg.md)|Debug version of **`realloc`**; only available in the debug versions of the run-time libraries|
-|[`_set_new_handler`](../c-runtime-library/reference/set-new-handler.md)|Enable error-handling mechanism when the **`new`** operator fails to allocate memory, and enable compilation of the C++ Standard Libraries|
-|[`_set_new_mode`](../c-runtime-library/reference/set-new-mode.md)|Set the new handler mode for **`malloc`**|
+|[`_alloca`](./reference/alloca.md), [`_malloca`](./reference/malloca.md)|Allocate memory from the stack|
+|[`calloc`](./reference/calloc.md)|Allocate an array and initialize its elements to 0 (zero)|
+|[`_calloc_dbg`](./reference/calloc-dbg.md)|Debug version of **`calloc`**. Only available in the debug versions of the run-time libraries|
+|[`operator delete`, `operator delete[]`](./delete-operator-crt.md)|Free memory allocated on the heap |
+|[`_expand`](./reference/expand.md)|Expand or shrink a block of memory without moving it|
+|[`_expand_dbg`](./reference/expand-dbg.md)|Debug version of **`_expand`**. Only available in the debug versions of the run-time libraries|
+|[`free`](./reference/free.md)|Free memory allocated on the heap|
+|[`_free_dbg`](./reference/free-dbg.md)|Debug version of **`free`**. Only available in the debug versions of the run-time libraries|
+|[`_freea`](./reference/freea.md)|Free memory allocated on the stack|
+|[`_get_heap_handle`](./reference/get-heap-handle.md)|Get a Win32 `HANDLE` to the C runtime (CRT) heap.|
+|[`_heapadd`](./heapadd.md)|Add memory to the heap|
+|[`_heapchk`](./reference/heapchk.md)|Check the heap for consistency|
+|[`_heapmin`](./reference/heapmin.md)|Release unused memory in the heap|
+|[`_heapset`](./heapset.md)|Fill free heap entries with a value|
+|[`_heapwalk`](./reference/heapwalk.md)|Get info about each entry in the heap|
+|[`malloc`](./reference/malloc.md)|Allocate memory from the heap|
+|[`_malloc_dbg`](./reference/malloc-dbg.md)|Debug version of **`malloc`**; only available in the debug versions of the run-time libraries|
+|[`_msize`](./reference/msize.md)|Return the size of an allocated block of memory|
+|[`_msize_dbg`](./reference/msize-dbg.md)|Debug version of **`_msize`**; only available in the debug versions of the run-time libraries|
+|[`new`, `new[]`](./new-operator-crt.md)|Allocate a block of memory from the heap|
+|[`_query_new_handler`](./reference/query-new-handler.md)|Get the address of the current new handler routine set by **`_set_new_handler`**|
+|[`_query_new_mode`](./reference/query-new-mode.md)|Get the new handler mode set by **`_set_new_mode`** for **`malloc`**|
+|[`realloc`](./reference/realloc.md)|Reallocate a block to a new size|
+|[`_realloc_dbg`](./reference/realloc-dbg.md)|Debug version of **`realloc`**; only available in the debug versions of the run-time libraries|
+|[`_set_new_handler`](./reference/set-new-handler.md)|Enable error-handling mechanism when the **`new`** operator fails to allocate memory, and enable compilation of the C++ Standard Libraries|
+|[`_set_new_mode`](./reference/set-new-mode.md)|Set the new handler mode for **`malloc`**|
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/multithreaded-libraries-performance.md b/docs/c-runtime-library/multithreaded-libraries-performance.md
index f88fbd5d9f2..cce0d316152 100644
--- a/docs/c-runtime-library/multithreaded-libraries-performance.md
+++ b/docs/c-runtime-library/multithreaded-libraries-performance.md
@@ -6,7 +6,7 @@ ms.topic: "conceptual"
helpviewer_keywords: ["threading [C++], performance", "libraries, multithreaded", "performance, multithreading", "multithreaded libraries"]
ms.assetid: faa5d808-087c-463d-8f0d-8c478d137296
---
-# Multithreaded Libraries Performance
+# Multithreaded libraries performance
The single-threaded CRT is no longer available. This article discusses how to get the maximum performance from the multithreaded libraries.
@@ -14,18 +14,18 @@ The single-threaded CRT is no longer available. This article discusses how to ge
The performance of the multithreaded libraries has been improved and is close to the performance of the now-eliminated single-threaded libraries. For those situations when even higher performance is required, there are several new features.
-- Independent stream locking allows you to lock a stream and then use [`_nolock` Functions](../c-runtime-library/nolock-functions.md) that access the stream directly. This feature allows lock usage to be hoisted outside critical loops.
+- Independent stream locking allows you to lock a stream and then use [`_nolock` Functions](./nolock-functions.md) that access the stream directly. This feature allows lock usage to be hoisted outside critical loops.
-- Per-thread locale reduces the cost of locale access for multithreaded scenarios (see [_configthreadlocale](../c-runtime-library/reference/configthreadlocale.md)).
+- Per-thread locale reduces the cost of locale access for multithreaded scenarios (see [_configthreadlocale](./reference/configthreadlocale.md)).
-- Locale-dependent functions (with names ending in _l) take the locale as a parameter, removing substantial cost (for example, [printf, _printf_l, wprintf, _wprintf_l](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)).
+- Locale-dependent functions (with names ending in _l) take the locale as a parameter, removing substantial cost (for example, [printf, _printf_l, wprintf, _wprintf_l](./reference/printf-printf-l-wprintf-wprintf-l.md)).
- Optimizations for common codepages reduce the cost of many short operations.
-- Defining [`_CRT_DISABLE_PERFCRIT_LOCKS`](../c-runtime-library/crt-disable-perfcrit-locks.md) forces all I/O operations to assume a single-threaded I/O model and use the `_nolock` forms of the functions. This macro allows highly I/O-based single-threaded applications to get better performance.
+- Defining [`_CRT_DISABLE_PERFCRIT_LOCKS`](./crt-disable-perfcrit-locks.md) forces all I/O operations to assume a single-threaded I/O model and use the `_nolock` forms of the functions. This macro allows highly I/O-based single-threaded applications to get better performance.
- Exposure of the CRT heap handle allows you to enable the Windows Low Fragmentation Heap (LFH) for the CRT heap, which can substantially improve performance in highly scaled scenarios.
## See also
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/nolock-functions.md b/docs/c-runtime-library/nolock-functions.md
index f508c30ee44..605a842f879 100644
--- a/docs/c-runtime-library/nolock-functions.md
+++ b/docs/c-runtime-library/nolock-functions.md
@@ -7,47 +7,47 @@ ms.assetid: 7d651d87-38d2-4303-9897-fdb5f7a3e899
---
# _nolock Functions
-The `_nolock` functions are versions of I/O functions that don't perform any locking. They're provided for users requiring maximum performance. For more information, see [Multithreaded Libraries Performance](../c-runtime-library/multithreaded-libraries-performance.md).
+The `_nolock` functions are versions of I/O functions that don't perform any locking. They're provided for users requiring maximum performance. For more information, see [Multithreaded libraries performance](./multithreaded-libraries-performance.md).
Use _nolock functions only if your program is truly single-threaded or if it does its own locking.
## No lock routines
-[_fclose_nolock](../c-runtime-library/reference/fclose-nolock.md)
+[_fclose_nolock](./reference/fclose-nolock.md)
-[_fflush_nolock](../c-runtime-library/reference/fflush-nolock.md)
+[_fflush_nolock](./reference/fflush-nolock.md)
-[_fgetc_nolock, _fgetwc_nolock](../c-runtime-library/reference/fgetc-nolock-fgetwc-nolock.md)
+[_fgetc_nolock, _fgetwc_nolock](./reference/fgetc-nolock-fgetwc-nolock.md)
-[_fread_nolock](../c-runtime-library/reference/fread-nolock.md)
+[_fread_nolock](./reference/fread-nolock.md)
-[_fseek_nolock, _fseeki64_nolock](../c-runtime-library/reference/fseek-nolock-fseeki64-nolock.md)
+[_fseek_nolock, _fseeki64_nolock](./reference/fseek-nolock-fseeki64-nolock.md)
-[_ftell_nolock, _ftelli64_nolock](../c-runtime-library/reference/ftell-nolock-ftelli64-nolock.md)
+[_ftell_nolock, _ftelli64_nolock](./reference/ftell-nolock-ftelli64-nolock.md)
-[_fwrite_nolock](../c-runtime-library/reference/fwrite-nolock.md)
+[_fwrite_nolock](./reference/fwrite-nolock.md)
-[_getc_nolock, _getwc_nolock](../c-runtime-library/reference/getc-nolock-getwc-nolock.md)
+[_getc_nolock, _getwc_nolock](./reference/getc-nolock-getwc-nolock.md)
-[_getch_nolock, _getwch_nolock](../c-runtime-library/reference/getch-nolock-getwch-nolock.md)
+[_getch_nolock, _getwch_nolock](./reference/getch-nolock-getwch-nolock.md)
-[_getchar_nolock, _getwchar_nolock](../c-runtime-library/reference/getchar-nolock-getwchar-nolock.md)
+[_getchar_nolock, _getwchar_nolock](./reference/getchar-nolock-getwchar-nolock.md)
-[_getche_nolock, _getwche_nolock](../c-runtime-library/reference/getche-nolock-getwche-nolock.md)
+[_getche_nolock, _getwche_nolock](./reference/getche-nolock-getwche-nolock.md)
-[_getdcwd_nolock, _wgetdcwd_nolock](../c-runtime-library/reference/getdcwd-nolock-wgetdcwd-nolock.md)
+[_getdcwd_nolock, _wgetdcwd_nolock](./reference/getdcwd-nolock-wgetdcwd-nolock.md)
-[_putc_nolock, _putwc_nolock](../c-runtime-library/reference/putc-nolock-putwc-nolock.md)
+[_putc_nolock, _putwc_nolock](./reference/putc-nolock-putwc-nolock.md)
-[_putch_nolock, _putwch_nolock](../c-runtime-library/reference/putch-nolock-putwch-nolock.md)
+[_putch_nolock, _putwch_nolock](./reference/putch-nolock-putwch-nolock.md)
-[_putchar_nolock, _putwchar_nolock](../c-runtime-library/reference/putchar-nolock-putwchar-nolock.md)
+[_putchar_nolock, _putwchar_nolock](./reference/putchar-nolock-putwchar-nolock.md)
-[_ungetc_nolock, _ungetwc_nolock](../c-runtime-library/reference/ungetc-nolock-ungetwc-nolock.md)
+[_ungetc_nolock, _ungetwc_nolock](./reference/ungetc-nolock-ungetwc-nolock.md)
-[_ungetch_nolock, _ungetwch_nolock](../c-runtime-library/reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)
+[_ungetch_nolock, _ungetwch_nolock](./reference/ungetch-ungetwch-ungetch-nolock-ungetwch-nolock.md)
## See also
-[Input and Output](../c-runtime-library/input-and-output.md)
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Input and output](./input-and-output.md)\
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/null-crt.md b/docs/c-runtime-library/null-crt.md
index 2c5675b9b35..aeff62b2b90 100644
--- a/docs/c-runtime-library/null-crt.md
+++ b/docs/c-runtime-library/null-crt.md
@@ -12,4 +12,4 @@ ms.assetid: f9aac2a0-4f79-423f-8738-a76dccc0b1c3
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/obsolete-functions.md b/docs/c-runtime-library/obsolete-functions.md
index e2739b3e5ff..38499701637 100644
--- a/docs/c-runtime-library/obsolete-functions.md
+++ b/docs/c-runtime-library/obsolete-functions.md
@@ -10,7 +10,7 @@ f1_keywords: ["is_wctype", "_loaddll", "_unloaddll", "_getdllprocaddr", "_seterr
helpviewer_keywords: ["obsolete functions", "_beep function", "_sleep function", "_seterrormode function"]
ms.assetid: 8e14c2d4-1481-4240-8586-47eb43db02b0
---
-# Obsolete Functions
+# Obsolete functions
Certain library functions are obsolete and have more recent equivalents. We recommend you change these functions to the updated versions. Other obsolete functions have been removed from the CRT. This article lists the functions deprecated as obsolete, and the functions removed in a particular version of Visual Studio.
@@ -18,7 +18,7 @@ Certain library functions are obsolete and have more recent equivalents. We reco
|Obsolete function|Alternative|
|-----------------------|-----------------|
-|`is_wctype`|[`iswctype`](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)|
+|`is_wctype`|[`iswctype`](./reference/isctype-iswctype-isctype-l-iswctype-l.md)|
|`_loaddll`|[`LoadLibrary`](/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryw), [`LoadLibraryEx`](/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexw), or [`LoadPackagedLibrary`](/windows/win32/api/winbase/nf-winbase-loadpackagedlibrary)|
|`_unloaddll`|[`FreeLibrary`](/windows/win32/api/libloaderapi/nf-libloaderapi-freelibrary)|
|`_getdllprocaddr`|[`GetProcAddress`](../build/getprocaddress.md)|
@@ -32,16 +32,16 @@ Certain library functions are obsolete and have more recent equivalents. We reco
|Obsolete function|Alternative|
|-----------------------|-----------------|
-|[`_cgets`, `_cgetws`](../c-runtime-library/cgets-cgetws.md)|[`_cgets_s`, `_cgetws_s`](../c-runtime-library/reference/cgets-s-cgetws-s.md)|
-|[`gets`, `_getws`](../c-runtime-library/gets-getws.md)|[`gets_s`, `_getws_s`](../c-runtime-library/reference/gets-s-getws-s.md)|
-|[`_get_output_format`](../c-runtime-library/get-output-format.md)|None|
-|[`_heapadd`](../c-runtime-library/heapadd.md)|None|
-|[`_heapset`](../c-runtime-library/heapset.md)|None|
-|[`inp`, `inpw`, `_inp`, `_inpw`, `_inpd`](../c-runtime-library/inp-inpw-inpd.md)|None|
-|[`outp`, `outpw`, `_outp`, `_outpw`, `_outpd`](../c-runtime-library/outp-outpw-outpd.md)|None|
-|[`_set_output_format`](../c-runtime-library/set-output-format.md)|None|
+|[`_cgets`, `_cgetws`](./cgets-cgetws.md)|[`_cgets_s`, `_cgetws_s`](./reference/cgets-s-cgetws-s.md)|
+|[`gets`, `_getws`](./gets-getws.md)|[`gets_s`, `_getws_s`](./reference/gets-s-getws-s.md)|
+|[`_get_output_format`](./get-output-format.md)|None|
+|[`_heapadd`](./heapadd.md)|None|
+|[`_heapset`](./heapset.md)|None|
+|[`inp`, `inpw`, `_inp`, `_inpw`, `_inpd`](./inp-inpw-inpd.md)|None|
+|[`outp`, `outpw`, `_outp`, `_outpw`, `_outpd`](./outp-outpw-outpd.md)|None|
+|[`_set_output_format`](./set-output-format.md)|None|
## Removed from the CRT in earlier versions of Visual Studio
-[`_lock`](../c-runtime-library/lock.md)\
-[`_unlock`](../c-runtime-library/unlock.md)
+[`_lock`](./lock.md)\
+[`_unlock`](./unlock.md)
diff --git a/docs/c-runtime-library/outp-outpw-outpd.md b/docs/c-runtime-library/outp-outpw-outpd.md
index 161f457d1ef..9295c248b02 100644
--- a/docs/c-runtime-library/outp-outpw-outpd.md
+++ b/docs/c-runtime-library/outp-outpw-outpd.md
@@ -43,7 +43,7 @@ Port number.
*`data_byte`*, *`data_word`*\
Output values.
-## Return Value
+## Return value
The functions return the data output. There's no error return.
@@ -53,7 +53,7 @@ The `_outp`, `_outpw`, and `_outpd` functions write a byte, a word, and a double
Because these functions write directly to an I/O port, they can't be used in user-mode Windows code.
-For information about using I/O ports in the Windows operating system, see [Serial Communications](/previous-versions/ff802693(v=msdn.10)).
+For information about using I/O ports in the Windows operating system, see [Serial communications](/previous-versions/ff802693(v=msdn.10)).
The `outp` and `outpw` names are older, deprecated names for the `_outp` and `_outpw` functions. For more information, see [POSIX function names](../error-messages/compiler-warnings/compiler-warning-level-3-c4996.md#posix-function-names).
@@ -65,13 +65,13 @@ The `outp` and `outpw` names are older, deprecated names for the `_outp` and `_o
|`_outpw`|\|
|`_outpd`|\|
-For more compatibility information, see [Compatibility](../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](./compatibility.md).
## Libraries
-All versions of the [C run-time libraries](../c-runtime-library/crt-library-features.md).
+All versions of the [C run-time libraries](./crt-library-features.md).
## See also
-[Console and Port I/O](../c-runtime-library/console-and-port-i-o.md)\
-[`inp`, `inpw`, `_inp`, `_inpw`, `_inpd`](../c-runtime-library/inp-inpw-inpd.md)
+[Console and port I/O](./console-and-port-i-o.md)\
+[`inp`, `inpw`, `_inp`, `_inpw`, `_inpd`](./inp-inpw-inpd.md)
diff --git a/docs/c-runtime-library/p-commode.md b/docs/c-runtime-library/p-commode.md
index 4516a1d7555..5244a6af485 100644
--- a/docs/c-runtime-library/p-commode.md
+++ b/docs/c-runtime-library/p-commode.md
@@ -21,7 +21,7 @@ int * __p__commode(
);
```
-## Return Value
+## Return value
Pointer to the `_commode` global variable.
@@ -29,7 +29,7 @@ Pointer to the `_commode` global variable.
The `__p__commode` function is for internal use only, and shouldn't be called from user code.
-File commit mode specifies when critical data is written to disk. For more information, see [fflush](../c-runtime-library/reference/fflush.md).
+File commit mode specifies when critical data is written to disk. For more information, see [fflush](./reference/fflush.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](global-state.md).
diff --git a/docs/c-runtime-library/p-fmode.md b/docs/c-runtime-library/p-fmode.md
index 291e52b7c19..faa4e2d5a02 100644
--- a/docs/c-runtime-library/p-fmode.md
+++ b/docs/c-runtime-library/p-fmode.md
@@ -21,7 +21,7 @@ int* __p__fmode(
);
```
-## Return Value
+## Return value
Pointer to the `_fmode` global variable.
@@ -29,7 +29,7 @@ Pointer to the `_fmode` global variable.
The `__p__fmode` function is for internal use only, and shouldn't be called from user code.
-File translation mode specifies either `binary` or `text` translation for [_open](../c-runtime-library/reference/open-wopen.md) and [_pipe](../c-runtime-library/reference/pipe.md) I/O operations. For more information, see [_fmode](../c-runtime-library/fmode.md).
+File translation mode specifies either `binary` or `text` translation for [_open](./reference/open-wopen.md) and [_pipe](./reference/pipe.md) I/O operations. For more information, see [_fmode](./fmode.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](global-state.md).
diff --git a/docs/c-runtime-library/parameter-validation.md b/docs/c-runtime-library/parameter-validation.md
index 6ba37f479ab..ae250ad1214 100644
--- a/docs/c-runtime-library/parameter-validation.md
+++ b/docs/c-runtime-library/parameter-validation.md
@@ -6,23 +6,23 @@ ms.topic: "conceptual"
helpviewer_keywords: ["parameters, validation"]
ms.assetid: 019dd5f0-dc61-4d2e-b4e9-b66409ddf1f2
---
-# Parameter Validation
+# Parameter validation
Most of the security-enhanced CRT functions, and many that aren't, validate their parameters for things like checking pointers for **NULL**, that integers fall into a valid range, or that enumeration values are valid. If an invalid parameter is found, the invalid parameter handler is called.
-## Invalid Parameter Handler Routine
+## Invalid parameter handler routine
-When a C Runtime Library function detects an invalid parameter, it captures some information about the error, and then calls a macro that wraps an invalid parameter handler dispatch function. Which will be one of [_invalid_parameter](../c-runtime-library/reference/invalid-parameter-functions.md), [_invalid_parameter_noinfo](../c-runtime-library/reference/invalid-parameter-functions.md), or [_invalid_parameter_noinfo_noreturn](../c-runtime-library/reference/invalid-parameter-functions.md). Which dispatch function is called depends on whether your code is, respectively, a debug build, a retail build, or the error isn't considered recoverable.
+When a C Runtime Library function detects an invalid parameter, it captures some information about the error, and then calls a macro that wraps an invalid parameter handler dispatch function. Which will be one of [_invalid_parameter](./reference/invalid-parameter-functions.md), [_invalid_parameter_noinfo](./reference/invalid-parameter-functions.md), or [_invalid_parameter_noinfo_noreturn](./reference/invalid-parameter-functions.md). Which dispatch function is called depends on whether your code is, respectively, a debug build, a retail build, or the error isn't considered recoverable.
In debug builds, the invalid parameter macro usually raises a failed assertion and a debugger breakpoint before the dispatch function is called. When the code runs, the assertion may be reported to the user in a dialog box that has "Abort", "Retry", and "Continue" or similar choices that depend on the operating system and CRT version. These options allow the user to immediately terminate the program, to attach a debugger, or to let the existing code continue to run which calls the dispatch function.
The invalid parameter handler dispatch function calls the currently assigned invalid parameter handler. By default, the invalid parameter calls `_invoke_watson`, which causes the application to close and generate a mini-dump. If enabled by the operating system, a dialog box asks the user if they want to send the crash dump to Microsoft for analysis.
-You can change this behavior by using the functions [_set_invalid_parameter_handler](../c-runtime-library/reference/set-invalid-parameter-handler-set-thread-local-invalid-parameter-handler.md) or [_set_thread_local_invalid_parameter_handler](../c-runtime-library/reference/set-invalid-parameter-handler-set-thread-local-invalid-parameter-handler.md) to set the invalid parameter handler to your own function. If the function you specify doesn't terminate the application, control is returned to the function that received the invalid parameters. In the CRT, these functions will normally stop function execution, set `errno` to an error code, and return an error code. In many cases, the `errno` value and the return value are both `EINVAL`, to indicate an invalid parameter. In some cases, a more specific error code is returned, such as `EBADF` for a bad file pointer passed in as a parameter.
+You can change this behavior by using the functions [_set_invalid_parameter_handler](./reference/set-invalid-parameter-handler-set-thread-local-invalid-parameter-handler.md) or [_set_thread_local_invalid_parameter_handler](./reference/set-invalid-parameter-handler-set-thread-local-invalid-parameter-handler.md) to set the invalid parameter handler to your own function. If the function you specify doesn't terminate the application, control is returned to the function that received the invalid parameters. In the CRT, these functions will normally stop function execution, set `errno` to an error code, and return an error code. In many cases, the `errno` value and the return value are both `EINVAL`, to indicate an invalid parameter. In some cases, a more specific error code is returned, such as `EBADF` for a bad file pointer passed in as a parameter.
-For more information on `errno`, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information on `errno`, see [errno, _doserrno, _sys_errlist, and _sys_nerr](./errno-doserrno-sys-errlist-and-sys-nerr.md).
## See also
-[Security Features in the CRT](../c-runtime-library/security-features-in-the-crt.md)\
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[Security features in the CRT](./security-features-in-the-crt.md)\
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/path-field-limits.md b/docs/c-runtime-library/path-field-limits.md
index 75144b8a9ed..071e4f3778a 100644
--- a/docs/c-runtime-library/path-field-limits.md
+++ b/docs/c-runtime-library/path-field-limits.md
@@ -6,7 +6,7 @@ f1_keywords: ["_MAX_EXT", "_MAX_DIR", "_MAX_PATH", "_MAX_FNAME", "_MAX_DRIVE"]
helpviewer_keywords: ["path field constants", "MAX_FNAME constant", "_MAX_DIR constant", "_MAX_DRIVE constant", "paths, maximum limit", "_MAX_PATH constant", "MAX_DRIVE constant", "_MAX_FNAME constant", "_MAX_EXT constant", "MAX_DIR constant", "MAX_EXT constant"]
ms.assetid: 2b5d0e43-1347-45b4-8397-24a8a45c444e
---
-# Path Field Limits
+# Path field limits
## Syntax
@@ -31,4 +31,4 @@ These constants define the maximum length for the path and for the individual fi
## See also
-[Global Constants](../c-runtime-library/global-constants.md)
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/pctype-func.md b/docs/c-runtime-library/pctype-func.md
index 02111ce9a25..c5241e37e0c 100644
--- a/docs/c-runtime-library/pctype-func.md
+++ b/docs/c-runtime-library/pctype-func.md
@@ -21,13 +21,13 @@ const unsigned short *__pctype_func(
)
```
-## Return Value
+## Return value
A pointer to an array of character classification information.
## Remarks
-The information in the character classification table is for internal use only, and is used by various functions that classify characters of type **`char`**. For more information, see the `Remarks` section of [_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](../c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md).
+The information in the character classification table is for internal use only, and is used by various functions that classify characters of type **`char`**. For more information, see the `Remarks` section of [_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](./pctype-pwctype-wctype-mbctype-mbcasemap.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](global-state.md).
@@ -39,4 +39,4 @@ By default, this function's global state is scoped to the application. To change
## See also
-[_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](../c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md)
+[_pctype, _pwctype, _wctype, _mbctype, _mbcasemap](./pctype-pwctype-wctype-mbctype-mbcasemap.md)
diff --git a/docs/c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md b/docs/c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md
index 069c9d6b643..c2d4906c9b1 100644
--- a/docs/c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md
+++ b/docs/c-runtime-library/pctype-pwctype-wctype-mbctype-mbcasemap.md
@@ -26,9 +26,9 @@ extern unsigned char _mbcasemap[];
## Remarks
-The information in `_pctype`, `_pwctype`, and `_wctype` is used internally by [isupper, _isupper_l, iswupper, _iswupper_l](../c-runtime-library/reference/isupper-isupper-l-iswupper-iswupper-l.md), [islower, iswlower, _islower_l, _iswlower_l](../c-runtime-library/reference/islower-iswlower-islower-l-iswlower-l.md), [isdigit, iswdigit, _isdigit_l, _iswdigit_l](../c-runtime-library/reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md), [isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](../c-runtime-library/reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md), [isspace, iswspace, _isspace_l, _iswspace_l](../c-runtime-library/reference/isspace-iswspace-isspace-l-iswspace-l.md), [isalnum, iswalnum, _isalnum_l, _iswalnum_l](../c-runtime-library/reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md), [ispunct, iswpunct, _ispunct_l, _iswpunct_l](../c-runtime-library/reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md), [isgraph, iswgraph, _isgraph_l, _iswgraph_l](../c-runtime-library/reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md), [iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](../c-runtime-library/reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md), [toupper, _toupper, towupper, _toupper_l, _towupper_l](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md), [tolower, _tolower, towlower, _tolower_l, and _towlower_l](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md) functions. These functions should be used instead of accessing these global variables.
+The information in `_pctype`, `_pwctype`, and `_wctype` is used internally by [isupper, _isupper_l, iswupper, _iswupper_l](./reference/isupper-isupper-l-iswupper-iswupper-l.md), [islower, iswlower, _islower_l, _iswlower_l](./reference/islower-iswlower-islower-l-iswlower-l.md), [isdigit, iswdigit, _isdigit_l, _iswdigit_l](./reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md), [isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](./reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md), [isspace, iswspace, _isspace_l, _iswspace_l](./reference/isspace-iswspace-isspace-l-iswspace-l.md), [isalnum, iswalnum, _isalnum_l, _iswalnum_l](./reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md), [ispunct, iswpunct, _ispunct_l, _iswpunct_l](./reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md), [isgraph, iswgraph, _isgraph_l, _iswgraph_l](./reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md), [iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](./reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md), [toupper, _toupper, towupper, _toupper_l, _towupper_l](./reference/toupper-toupper-towupper-toupper-l-towupper-l.md), [tolower, _tolower, towlower, _tolower_l, and _towlower_l](./reference/tolower-tolower-towlower-tolower-l-towlower-l.md) functions. These functions should be used instead of accessing these global variables.
-The information in `_mbctype` and `_mbcasemap` is used internally by [_ismbbkalnum, _ismbbkalnum_l](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md), [_ismbbkana, _ismbbkana_l](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md), [_ismbbkpunct, _ismbbkpunct_l](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md), [_ismbbkprint, _ismbbkprint_l](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md), [_ismbbalpha](reference/ismbbalpha-ismbbalpha-l.md), [_ismbbpunct, _ismbbpunct_l](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md), [_ismbbalnum, _ismbbalnum_l](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md), [_ismbbprint, _ismbbprint_l](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md), [_ismbbgraph, _ismbbgraph_l](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md), [_ismbblead, _ismbblead_l](../c-runtime-library/reference/ismbblead-ismbblead-l.md), [_ismbbtrail, _ismbbtrail_l](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md), [_ismbslead, _ismbstrail, _ismbslead_l, _ismbstrail_l](../c-runtime-library/reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md), [_ismbslead, _ismbstrail, _ismbslead_l, and _ismbstrail_l](../c-runtime-library/reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md). Use these functions instead of accessing the global variables.
+The information in `_mbctype` and `_mbcasemap` is used internally by [_ismbbkalnum, _ismbbkalnum_l](./reference/ismbbkalnum-ismbbkalnum-l.md), [_ismbbkana, _ismbbkana_l](./reference/ismbbkana-ismbbkana-l.md), [_ismbbkpunct, _ismbbkpunct_l](./reference/ismbbkpunct-ismbbkpunct-l.md), [_ismbbkprint, _ismbbkprint_l](./reference/ismbbkprint-ismbbkprint-l.md), [_ismbbalpha](reference/ismbbalpha-ismbbalpha-l.md), [_ismbbpunct, _ismbbpunct_l](./reference/ismbbpunct-ismbbpunct-l.md), [_ismbbalnum, _ismbbalnum_l](./reference/ismbbalnum-ismbbalnum-l.md), [_ismbbprint, _ismbbprint_l](./reference/ismbbprint-ismbbprint-l.md), [_ismbbgraph, _ismbbgraph_l](./reference/ismbbgraph-ismbbgraph-l.md), [_ismbblead, _ismbblead_l](./reference/ismbblead-ismbblead-l.md), [_ismbbtrail, _ismbbtrail_l](./reference/ismbbtrail-ismbbtrail-l.md), [_ismbslead, _ismbstrail, _ismbslead_l, _ismbstrail_l](./reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md), [_ismbslead, _ismbstrail, _ismbslead_l, and _ismbstrail_l](./reference/ismbslead-ismbstrail-ismbslead-l-ismbstrail-l.md). Use these functions instead of accessing the global variables.
## Requirements
@@ -36,5 +36,5 @@ Not for public use.
## See also
-[is, isw Routines](../c-runtime-library/is-isw-routines.md)
-[__pctype_func](../c-runtime-library/pctype-func.md)
+[is, isw Routines](./is-isw-routines.md)\
+[__pctype_func](./pctype-func.md)
diff --git a/docs/c-runtime-library/pgmptr-wpgmptr.md b/docs/c-runtime-library/pgmptr-wpgmptr.md
index 780f64f286e..8ffa5fefe31 100644
--- a/docs/c-runtime-library/pgmptr-wpgmptr.md
+++ b/docs/c-runtime-library/pgmptr-wpgmptr.md
@@ -8,7 +8,7 @@ ms.assetid: 4d44b515-0eff-4136-8bc4-684195f218f5
---
# _pgmptr, _wpgmptr
-The path of the executable file. Deprecated; use [_get_pgmptr](../c-runtime-library/reference/get-pgmptr.md) and [_get_wpgmptr](../c-runtime-library/reference/get-wpgmptr.md).
+The path of the executable file. Deprecated; use [_get_pgmptr](./reference/get-pgmptr.md) and [_get_wpgmptr](./reference/get-wpgmptr.md).
## Syntax
@@ -29,7 +29,7 @@ When a program isn't run from the command line, `_pgmptr` might be initialized t
`_wpgmptr` is the wide-character counterpart of `_pgmptr` for use with programs that use `wmain`.
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -64,4 +64,4 @@ You could use `_wpgmptr` by changing `%Fs` to `%S` and `main` to `wmain`.
## See also
-[Global Variables](../c-runtime-library/global-variables.md)
+[Global variables](./global-variables.md)
diff --git a/docs/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md b/docs/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md
index 139e91d7885..9aac11ab8d6 100644
--- a/docs/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md
+++ b/docs/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md
@@ -131,4 +131,4 @@ New MYLIB variable is: c:\mylib;c:\yourlib
## See also
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/printf-p-positional-parameters.md b/docs/c-runtime-library/printf-p-positional-parameters.md
index de35a30e76c..8138d202806 100644
--- a/docs/c-runtime-library/printf-p-positional-parameters.md
+++ b/docs/c-runtime-library/printf-p-positional-parameters.md
@@ -14,19 +14,19 @@ Positional parameters let you specify by number the argument to substitute into
| Non-positional printf functions | Positional parameter equivalents |
|---|---|
-|[printf, _printf_l, wprintf, _wprintf_l](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)|[_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l](../c-runtime-library/reference/printf-p-printf-p-l-wprintf-p-wprintf-p-l.md)|
-|[sprintf, _sprintf_l, swprintf, _swprintf_l, \__swprintf_l](../c-runtime-library/reference/sprintf-sprintf-l-swprintf-swprintf-l-swprintf-l.md)|[_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l](../c-runtime-library/reference/sprintf-p-sprintf-p-l-swprintf-p-swprintf-p-l.md)|
-|[_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](../c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md)|[_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l](../c-runtime-library/reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md)|
-|[fprintf, _fprintf_l, fwprintf, _fwprintf_l](../c-runtime-library/reference/fprintf-fprintf-l-fwprintf-fwprintf-l.md)|[_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l](../c-runtime-library/reference/fprintf-p-fprintf-p-l-fwprintf-p-fwprintf-p-l.md)|
-|[vprintf, _vprintf_l, vwprintf, _vwprintf_l](../c-runtime-library/reference/vprintf-vprintf-l-vwprintf-vwprintf-l.md)|[_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l](../c-runtime-library/reference/vprintf-p-vprintf-p-l-vwprintf-p-vwprintf-p-l.md)|
-|[vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l](../c-runtime-library/reference/vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)|[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](../c-runtime-library/reference/vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)|
-|[vsprintf, _vsprintf_l, vswprintf, _vswprintf_l, \__vswprintf_l](../c-runtime-library/reference/vsprintf-vsprintf-l-vswprintf-vswprintf-l-vswprintf-l.md)|[_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l](../c-runtime-library/reference/vsprintf-p-vsprintf-p-l-vswprintf-p-vswprintf-p-l.md)|
+|[printf, _printf_l, wprintf, _wprintf_l](./reference/printf-printf-l-wprintf-wprintf-l.md)|[_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l](./reference/printf-p-printf-p-l-wprintf-p-wprintf-p-l.md)|
+|[sprintf, _sprintf_l, swprintf, _swprintf_l, \__swprintf_l](./reference/sprintf-sprintf-l-swprintf-swprintf-l-swprintf-l.md)|[_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l](./reference/sprintf-p-sprintf-p-l-swprintf-p-swprintf-p-l.md)|
+|[_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](./reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md)|[_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l](./reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md)|
+|[fprintf, _fprintf_l, fwprintf, _fwprintf_l](./reference/fprintf-fprintf-l-fwprintf-fwprintf-l.md)|[_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l](./reference/fprintf-p-fprintf-p-l-fwprintf-p-fwprintf-p-l.md)|
+|[vprintf, _vprintf_l, vwprintf, _vwprintf_l](./reference/vprintf-vprintf-l-vwprintf-vwprintf-l.md)|[_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l](./reference/vprintf-p-vprintf-p-l-vwprintf-p-vwprintf-p-l.md)|
+|[vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l](./reference/vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)|[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](./reference/vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)|
+|[vsprintf, _vsprintf_l, vswprintf, _vswprintf_l, \__vswprintf_l](./reference/vsprintf-vsprintf-l-vswprintf-vswprintf-l-vswprintf-l.md)|[_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l](./reference/vsprintf-p-vsprintf-p-l-vswprintf-p-vswprintf-p-l.md)|
## How to specify positional parameters
### Parameter indexing
-By default, if no positional formatting is present, the positional functions behave identically to the non-positional ones. You specify the positional parameter to format by using `%n$` at the beginning of the format specifier, where `n` is the position of the parameter to format in the parameter list. The parameter position starts at 1 for the first argument after the format string. The remainder of the format specifier follows the same rules as the `printf` format specifier. For more information about format specifiers, see [Format Specification Syntax: printf and wprintf Functions](../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md).
+By default, if no positional formatting is present, the positional functions behave identically to the non-positional ones. You specify the positional parameter to format by using `%n$` at the beginning of the format specifier, where `n` is the position of the parameter to format in the parameter list. The parameter position starts at 1 for the first argument after the format string. The remainder of the format specifier follows the same rules as the `printf` format specifier. For more information about format specifiers, see [Format specification syntax: `printf` and `wprintf` functions](./format-specification-syntax-printf-and-wprintf-functions.md).
Here's an example of positional formatting:
@@ -136,4 +136,4 @@ ghi abc def
## See also
-[Format Specification Syntax: printf and wprintf Functions](../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md)
+[Format specification syntax: `printf` and `wprintf` functions](./format-specification-syntax-printf-and-wprintf-functions.md)
diff --git a/docs/c-runtime-library/process-and-environment-control.md b/docs/c-runtime-library/process-and-environment-control.md
index c718d20d62d..4aba4ea1164 100644
--- a/docs/c-runtime-library/process-and-environment-control.md
+++ b/docs/c-runtime-library/process-and-environment-control.md
@@ -5,54 +5,54 @@ ms.date: "11/04/2016"
f1_keywords: ["c.programs"]
helpviewer_keywords: ["processes, stopping", "processes, administrative tasks", "parent process", "processes, starting", "environment control routines", "process control routines"]
---
-# Process and Environment Control
+# Process and environment control
Use the process-control routines to start, stop, and manage processes from within a program. Use the environment-control routines to get and change information about the operating-system environment.
-## Process and Environment Control Functions
+## Process and environment control functions
|Routine|Use|
|-------------|---------|
-|[`abort`](../c-runtime-library/reference/abort.md)|Abort process without flushing buffers or calling functions registered by **`atexit`** and **`_onexit`**|
-|[`assert`](../c-runtime-library/reference/assert-macro-assert-wassert.md)|Test for logic error|
-|[`_ASSERT`, `_ASSERTE`](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) macros|Similar to **`assert`**, but only available in the debug versions of the run-time libraries|
-|[`atexit`](../c-runtime-library/reference/atexit.md)|Schedule routines for execution at program termination|
-|[`_beginthread`, `_beginthreadex`](../c-runtime-library/reference/beginthread-beginthreadex.md)|Create a new thread on a Windows operating system process|
-|[`_cexit`](../c-runtime-library/reference/cexit-c-exit.md)|Perform **`exit`** termination procedures (such as flushing buffers), then return control to calling program without terminating process|
-|[`_c_exit`](../c-runtime-library/reference/cexit-c-exit.md)|Perform **`_exit`** termination procedures, then return control to calling program without terminating process|
-|[`_cwait`](../c-runtime-library/reference/cwait.md)|Wait until another process terminates|
-|[`_endthread`, `_endthreadex`](../c-runtime-library/reference/endthread-endthreadex.md)|Terminate a Windows operating system thread|
-|[`_execl`, `_wexecl`](../c-runtime-library/reference/execl-wexecl.md)|Execute new process with argument list|
-|[`_execle`, `_wexecle`](../c-runtime-library/reference/execle-wexecle.md)|Execute new process with argument list and given environment|
-|[`_execlp`, `_wexeclp`](../c-runtime-library/reference/execlp-wexeclp.md)|Execute new process using **`PATH`** variable and argument list|
-|[`_execlpe`, `_wexeclpe`](../c-runtime-library/reference/execlpe-wexeclpe.md)|Execute new process using **`PATH`** variable, given environment, and argument list|
-|[`_execv`, `_wexecv`](../c-runtime-library/reference/execv-wexecv.md)|Execute new process with argument array|
-|[`_execve`, `_wexecve`](../c-runtime-library/reference/execve-wexecve.md)|Execute new process with argument array and given environment|
-|[`_execvp`, `_wexecvp`](../c-runtime-library/reference/execvp-wexecvp.md)|Execute new process using **`PATH`** variable and argument array|
-|[`_execvpe`, `_wexecvpe`](../c-runtime-library/reference/execvpe-wexecvpe.md)|Execute new process using **`PATH`** variable, given environment, and argument array|
-|[`exit`](../c-runtime-library/reference/exit-exit-exit.md)|Call functions registered by **`atexit`** and **`_onexit`**, flush all buffers, close all open files, and terminate process|
-|[`_exit`](../c-runtime-library/reference/exit-exit-exit.md)|Terminate process immediately without calling **`atexit`** or **`_onexit`** or flushing buffers|
-|[`getenv`, `_wgetenv`](../c-runtime-library/reference/getenv-wgetenv.md), [`getenv_s`, `_wgetenv_s`](../c-runtime-library/reference/getenv-s-wgetenv-s.md)|Get value of environment variable|
-|[`_getpid`](../c-runtime-library/reference/getpid.md)|Get process ID number|
-|[`longjmp`](../c-runtime-library/reference/longjmp.md)|Restore saved stack environment; use it to execute a nonlocal **`goto`**|
-|[`_onexit`](../c-runtime-library/reference/onexit-onexit-m.md)|Schedule routines for execution at program termination; use for compatibility with Microsoft C/C++ version 7.0 and earlier|
-|[`_pclose`](../c-runtime-library/reference/pclose.md)|Wait for new command processor and close stream on associated pipe|
-|[`perror`, `_wperror`](../c-runtime-library/reference/perror-wperror.md)|Print error message|
-|[`_pipe`](../c-runtime-library/reference/pipe.md)|Create pipe for reading and writing|
-|[`_popen`, `_wpopen`](../c-runtime-library/reference/popen-wpopen.md)|Create pipe and execute command|
-|[`_putenv`, `_wputenv`](../c-runtime-library/reference/putenv-wputenv.md), [`_putenv_s`, `_wputenv_s`](../c-runtime-library/reference/putenv-s-wputenv-s.md)|Add or change value of environment variable|
-|[`raise`](../c-runtime-library/reference/raise.md)|Send signal to calling process|
-|[`setjmp`](../c-runtime-library/reference/setjmp.md)|Save stack environment; use to execute non local **`goto`**|
-|[`signal`](../c-runtime-library/reference/signal.md)|Handle interrupt signal|
-|[`_spawnl`, `_wspawnl`](../c-runtime-library/reference/spawnl-wspawnl.md)|Create and execute new process with specified argument list|
-|[`_spawnle`, `_wspawnle`](../c-runtime-library/reference/spawnle-wspawnle.md)|Create and execute new process with specified argument list and environment|
-|[`_spawnlp`, `_wspawnlp`](../c-runtime-library/reference/spawnlp-wspawnlp.md)|Create and execute new process using **`PATH`** variable and specified argument list|
-|[`_spawnlpe`, `_wspawnlpe`](../c-runtime-library/reference/spawnlpe-wspawnlpe.md)|Create and execute new process using **`PATH`** variable, specified environment, and argument list|
-|[`_spawnv`, `_wspawnv`](../c-runtime-library/reference/spawnv-wspawnv.md)|Create and execute new process with specified argument array|
-|[`_spawnve`, `_wspawnve`](../c-runtime-library/reference/spawnve-wspawnve.md)|Create and execute new process with specified environment and argument array|
-|[`_spawnvp`, `_wspawnvp`](../c-runtime-library/reference/spawnvp-wspawnvp.md)|Create and execute new process using **`PATH`** variable and specified argument array|
-|[`_spawnvpe`, `_wspawnvpe`](../c-runtime-library/reference/spawnvpe-wspawnvpe.md)|Create and execute new process using **`PATH`** variable, specified environment, and argument array|
-|[`system`, `_wsystem`](../c-runtime-library/reference/system-wsystem.md)|Execute operating-system command|
+|[`abort`](./reference/abort.md)|Abort process without flushing buffers or calling functions registered by **`atexit`** and **`_onexit`**|
+|[`assert`](./reference/assert-macro-assert-wassert.md)|Test for logic error|
+|[`_ASSERT`, `_ASSERTE`](./reference/assert-asserte-assert-expr-macros.md) macros|Similar to **`assert`**, but only available in the debug versions of the run-time libraries|
+|[`atexit`](./reference/atexit.md)|Schedule routines for execution at program termination|
+|[`_beginthread`, `_beginthreadex`](./reference/beginthread-beginthreadex.md)|Create a new thread on a Windows operating system process|
+|[`_cexit`](./reference/cexit-c-exit.md)|Perform **`exit`** termination procedures (such as flushing buffers), then return control to calling program without terminating process|
+|[`_c_exit`](./reference/cexit-c-exit.md)|Perform **`_exit`** termination procedures, then return control to calling program without terminating process|
+|[`_cwait`](./reference/cwait.md)|Wait until another process terminates|
+|[`_endthread`, `_endthreadex`](./reference/endthread-endthreadex.md)|Terminate a Windows operating system thread|
+|[`_execl`, `_wexecl`](./reference/execl-wexecl.md)|Execute new process with argument list|
+|[`_execle`, `_wexecle`](./reference/execle-wexecle.md)|Execute new process with argument list and given environment|
+|[`_execlp`, `_wexeclp`](./reference/execlp-wexeclp.md)|Execute new process using **`PATH`** variable and argument list|
+|[`_execlpe`, `_wexeclpe`](./reference/execlpe-wexeclpe.md)|Execute new process using **`PATH`** variable, given environment, and argument list|
+|[`_execv`, `_wexecv`](./reference/execv-wexecv.md)|Execute new process with argument array|
+|[`_execve`, `_wexecve`](./reference/execve-wexecve.md)|Execute new process with argument array and given environment|
+|[`_execvp`, `_wexecvp`](./reference/execvp-wexecvp.md)|Execute new process using **`PATH`** variable and argument array|
+|[`_execvpe`, `_wexecvpe`](./reference/execvpe-wexecvpe.md)|Execute new process using **`PATH`** variable, given environment, and argument array|
+|[`exit`](./reference/exit-exit-exit.md)|Call functions registered by **`atexit`** and **`_onexit`**, flush all buffers, close all open files, and terminate process|
+|[`_exit`](./reference/exit-exit-exit.md)|Terminate process immediately without calling **`atexit`** or **`_onexit`** or flushing buffers|
+|[`getenv`, `_wgetenv`](./reference/getenv-wgetenv.md), [`getenv_s`, `_wgetenv_s`](./reference/getenv-s-wgetenv-s.md)|Get value of environment variable|
+|[`_getpid`](./reference/getpid.md)|Get process ID number|
+|[`longjmp`](./reference/longjmp.md)|Restore saved stack environment; use it to execute a nonlocal **`goto`**|
+|[`_onexit`](./reference/onexit-onexit-m.md)|Schedule routines for execution at program termination; use for compatibility with Microsoft C/C++ version 7.0 and earlier|
+|[`_pclose`](./reference/pclose.md)|Wait for new command processor and close stream on associated pipe|
+|[`perror`, `_wperror`](./reference/perror-wperror.md)|Print error message|
+|[`_pipe`](./reference/pipe.md)|Create pipe for reading and writing|
+|[`_popen`, `_wpopen`](./reference/popen-wpopen.md)|Create pipe and execute command|
+|[`_putenv`, `_wputenv`](./reference/putenv-wputenv.md), [`_putenv_s`, `_wputenv_s`](./reference/putenv-s-wputenv-s.md)|Add or change value of environment variable|
+|[`raise`](./reference/raise.md)|Send signal to calling process|
+|[`setjmp`](./reference/setjmp.md)|Save stack environment; use to execute non local **`goto`**|
+|[`signal`](./reference/signal.md)|Handle interrupt signal|
+|[`_spawnl`, `_wspawnl`](./reference/spawnl-wspawnl.md)|Create and execute new process with specified argument list|
+|[`_spawnle`, `_wspawnle`](./reference/spawnle-wspawnle.md)|Create and execute new process with specified argument list and environment|
+|[`_spawnlp`, `_wspawnlp`](./reference/spawnlp-wspawnlp.md)|Create and execute new process using **`PATH`** variable and specified argument list|
+|[`_spawnlpe`, `_wspawnlpe`](./reference/spawnlpe-wspawnlpe.md)|Create and execute new process using **`PATH`** variable, specified environment, and argument list|
+|[`_spawnv`, `_wspawnv`](./reference/spawnv-wspawnv.md)|Create and execute new process with specified argument array|
+|[`_spawnve`, `_wspawnve`](./reference/spawnve-wspawnve.md)|Create and execute new process with specified environment and argument array|
+|[`_spawnvp`, `_wspawnvp`](./reference/spawnvp-wspawnvp.md)|Create and execute new process using **`PATH`** variable and specified argument array|
+|[`_spawnvpe`, `_wspawnvpe`](./reference/spawnvpe-wspawnvpe.md)|Create and execute new process using **`PATH`** variable, specified environment, and argument array|
+|[`system`, `_wsystem`](./reference/system-wsystem.md)|Execute operating-system command|
In the Windows operating system, the spawned process is equivalent to the spawning process. Any process can use **`_cwait`** to wait for any other process for which the process ID is known.
@@ -75,4 +75,4 @@ The differences among the functions in the **`_exec`** and **`_spawn`** families
## See also
-[Universal C runtime routines by category](../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](./run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/rand-max.md b/docs/c-runtime-library/rand-max.md
index 1fc11b09b9c..af3c4b4344e 100644
--- a/docs/c-runtime-library/rand-max.md
+++ b/docs/c-runtime-library/rand-max.md
@@ -19,5 +19,5 @@ The constant `RAND_MAX` is the maximum value that can be returned by the `rand`
## See also
-[`rand`](../c-runtime-library/reference/rand.md)\
-[Global Constants](../c-runtime-library/global-constants.md)
+[`rand`](./reference/rand.md)\
+[Global constants](./global-constants.md)
diff --git a/docs/c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md b/docs/c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md
index 854c5a960d7..1971598d3b1 100644
--- a/docs/c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md
+++ b/docs/c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md
@@ -7,7 +7,7 @@ f1_keywords: ["c.functions"]
helpviewer_keywords: ["functions [CRT], vs. macros", "macros, vs. functions"]
ms.assetid: 18a633d6-cf1c-470c-a649-fa7677473e2b
---
-# Recommendations for Choosing Between Functions and Macros
+# Recommendations for choosing between functions and macros
Most Microsoft run-time library routines are compiled or assembled functions, but some routines are implemented as macros. When a header file declares both a function and a macro version of a routine, the macro definition takes precedence, because it always appears after the function declaration. When you invoke a routine that is implemented as both a function and a macro, you can force the compiler to use the function version in two ways:
@@ -38,4 +38,4 @@ If you need to choose between a function and a macro implementation of a library
## See also
[Type-generic math](tgmath.md)\
-[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](../c-runtime-library/crt-library-features.md)
+[C runtime (CRT) and C++ Standard Library (STL) `.lib` files](./crt-library-features.md)
diff --git a/docs/c-runtime-library/reference/abort.md b/docs/c-runtime-library/reference/abort.md
index f88d180666f..c1632beccc4 100644
--- a/docs/c-runtime-library/reference/abort.md
+++ b/docs/c-runtime-library/reference/abort.md
@@ -22,7 +22,7 @@ Aborts the current process and returns an error code.
void abort( void );
```
-## Return Value
+## Return value
**`abort`** doesn't return control to the calling process. By default, it checks for an abort signal handler and raises `SIGABRT` if one is set. Then **`abort`** terminates the current process and returns an exit code to the parent process.
@@ -48,7 +48,7 @@ If the Windows error reporting handler isn't invoked, then **`abort`** calls [`_
For Windows compatibility reasons, when `abort` calls `_exit`, it may invoke the Windows [`ExitProcess`](/windows/win32/api/processthreadsapi/nf-processthreadsapi-exitprocess) API, which in turn allows DLL termination routines to run. Destructors aren't run in the executable, but the same may not be true of DLLs loaded in the executable's process space. This behavior doesn't strictly conform to the C++ standard. To immediately terminate a process including any DLLs, use the Windows [`TerminateProcess`](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-terminateprocess) API. You can also register an abort signal handler that invokes `TerminateProcess` for standard-compliant behavior. Compliant behavior may come at some cost in Windows compatibility.
-For more information about CRT debugging, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+For more information about CRT debugging, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
**End Microsoft Specific**
@@ -100,11 +100,11 @@ File could not be opened: No such file or directory
[Using `abort`](../../cpp/using-abort.md)\
[`abort` Function](../../c-language/abort-function-c.md)\
-[Process and Environment Control](../../c-runtime-library/process-and-environment-control.md)\
-[`_exec`, `_wexec` Functions](../../c-runtime-library/exec-wexec-functions.md)\
+[Process and environment control](../process-and-environment-control.md)\
+[`_exec`, `_wexec` Functions](../exec-wexec-functions.md)\
[`exit`, `_Exit`, `_exit`](exit-exit-exit.md)\
[`raise`](raise.md)\
[`signal`](signal.md)\
-[`_spawn`, `_wspawn` Functions](../../c-runtime-library/spawn-wspawn-functions.md)\
-[`_DEBUG`](../../c-runtime-library/debug.md)\
+[`_spawn`, `_wspawn` Functions](../spawn-wspawn-functions.md)\
+[`_DEBUG`](../debug.md)\
[`_set_abort_behavior`](set-abort-behavior.md)
diff --git a/docs/c-runtime-library/reference/abs-labs-llabs-abs64.md b/docs/c-runtime-library/reference/abs-labs-llabs-abs64.md
index f6b3c1253b8..21dc3404350 100644
--- a/docs/c-runtime-library/reference/abs-labs-llabs-abs64.md
+++ b/docs/c-runtime-library/reference/abs-labs-llabs-abs64.md
@@ -35,7 +35,7 @@ float abs( float n ); // C++ only
*`n`*\
Numeric value.
-## Return Value
+## Return value
The **`abs`**, **`labs`**, **`llabs`**, and **`_abs64`** functions return the absolute value of the parameter *`n`*. There's no error return.
@@ -113,8 +113,8 @@ _abs64(_I64_MIN) returns 0x8000000000000000
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)\
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`_cabs`](cabs.md)\
[`fabs`, `fabsf`, `fabsl`](fabs-fabsf-fabsl.md)\
[`imaxabs`](imaxabs.md)
diff --git a/docs/c-runtime-library/reference/access-s-waccess-s.md b/docs/c-runtime-library/reference/access-s-waccess-s.md
index 101ad7d8f56..1dd664aa6de 100644
--- a/docs/c-runtime-library/reference/access-s-waccess-s.md
+++ b/docs/c-runtime-library/reference/access-s-waccess-s.md
@@ -12,7 +12,7 @@ ms.assetid: fb3004fc-dcd3-4569-8b27-d817546e947e
---
# _access_s, _waccess_s
-Determines file read/write permissions. These functions are versions of [`_access`, `_waccess`](access-waccess.md) with security enhancements as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Determines file read/write permissions. These functions are versions of [`_access`, `_waccess`](access-waccess.md) with security enhancements as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -35,7 +35,7 @@ File or directory path.
*mode*
Permission setting.
-## Return Value
+## Return value
Each function returns 0 if the file has the given mode. The function returns an error code if the named file doesn't exist or isn't accessible in the given mode. In this case, the function returns an error code from the set as follows and also sets `errno` to the same value.
@@ -45,7 +45,7 @@ Each function returns 0 if the file has the given mode. The function returns an
`ENOENT`|File name or path not found.
`EINVAL`|Invalid parameter.
-For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
## Remarks
@@ -62,11 +62,11 @@ Permission to read or write the file isn't enough to ensure the ability to open
**_waccess_s** is a wide-character version of **_access_s**, where the *path* argument to **_waccess_s** is a wide-character string. Otherwise, **_waccess_s** and **_access_s** behave identically.
-These functions validate their parameters. If *path* is NULL or *mode* doesn't specify a valid mode, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return `EINVAL`.
+These functions validate their parameters. If *path* is NULL or *mode* doesn't specify a valid mode, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return `EINVAL`.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -125,9 +125,9 @@ File crt_access_s.c does not have write permission.
## See also
-[File Handling](../../c-runtime-library/file-handling.md)
-[_access, _waccess](access-waccess.md)
-[_chmod, _wchmod](chmod-wchmod.md)
-[_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)
-[_open, _wopen](open-wopen.md)
+[File handling](../file-handling.md)\
+[_access, _waccess](access-waccess.md)\
+[_chmod, _wchmod](chmod-wchmod.md)\
+[_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)\
+[_open, _wopen](open-wopen.md)\
[_stat, _wstat Functions](stat-functions.md)
diff --git a/docs/c-runtime-library/reference/access-waccess.md b/docs/c-runtime-library/reference/access-waccess.md
index dd1b3172cb1..0be56c4566b 100644
--- a/docs/c-runtime-library/reference/access-waccess.md
+++ b/docs/c-runtime-library/reference/access-waccess.md
@@ -35,7 +35,7 @@ File or directory path.
*`mode`*
Read/write attribute.
-## Return Value
+## Return value
Each function returns 0 if the file has the given mode. The function returns -1 if the named file doesn't exist or doesn't have the given mode; in this case, `errno` is set as shown in the following table.
@@ -45,7 +45,7 @@ Each function returns 0 if the file has the given mode. The function returns -1
| `ENOENT` | File name or path not found. |
| `EINVAL` | Invalid parameter. |
-For more information about these and other return codes, see [`_doserrno`, `errno`, `_sys_errlist`, and `_sys_nerr`](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information about these and other return codes, see [`_doserrno`, `errno`, `_sys_errlist`, and `_sys_nerr`](../errno-doserrno-sys-errlist-and-sys-nerr.md).
## Remarks
@@ -58,15 +58,15 @@ When used with files, the **`_access`** function determines whether the specifie
|04|Read-only|
|06|Read and write|
-This function only checks whether the file and directory are read-only or not, it doesn't check the filesystem security settings. For that you need an access token. For more information on filesystem security, see [Access Tokens](/windows/win32/SecAuthZ/access-tokens). An ATL class exists to provide this functionality; see [`CAccessToken` Class](../../atl/reference/caccesstoken-class.md).
+This function only checks whether the file and directory are read-only or not, it doesn't check the filesystem security settings. For that you need an access token. For more information on filesystem security, see [Access tokens](/windows/win32/SecAuthZ/access-tokens). An ATL class exists to provide this functionality; see [`CAccessToken` Class](../../atl/reference/caccesstoken-class.md).
**`_waccess`** is a wide-character version of **`_access`**; the *`path`* argument to **`_waccess`** is a wide-character string. **`_waccess`** and **`_access`** behave identically otherwise.
-This function validates its parameters. If *`path`* is `NULL` or *`mode`* doesn't specify a valid mode, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the function sets `errno` to `EINVAL` and returns -1.
+This function validates its parameters. If *`path`* is `NULL` or *`mode`* doesn't specify a valid mode, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the function sets `errno` to `EINVAL` and returns -1.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|`Tchar.h` routine|`_UNICODE` and `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -115,8 +115,8 @@ File crt_ACCESS.C does not have write permission.
## See also
-[File Handling](../../c-runtime-library/file-handling.md)
-[`_chmod`, `_wchmod`](chmod-wchmod.md)
-[`_fstat`, `_fstat32`, `_fstat64`, `_fstati64`, `_fstat32i64`, `_fstat64i32`](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)
-[`_open`, `_wopen`](open-wopen.md)
+[File handling](../file-handling.md)\
+[`_chmod`, `_wchmod`](chmod-wchmod.md)\
+[`_fstat`, `_fstat32`, `_fstat64`, `_fstati64`, `_fstat32i64`, `_fstat64i32`](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)\
+[`_open`, `_wopen`](open-wopen.md)\
[`_stat`, `_wstat` Functions](stat-functions.md)
diff --git a/docs/c-runtime-library/reference/acos-acosf-acosl.md b/docs/c-runtime-library/reference/acos-acosf-acosl.md
index 4d70dc96b45..1079615436a 100644
--- a/docs/c-runtime-library/reference/acos-acosf-acosl.md
+++ b/docs/c-runtime-library/reference/acos-acosf-acosl.md
@@ -30,7 +30,7 @@ long double acos( long double x ); // C++ only
*`x`*\
Value between -1 and 1, for which to calculate the arccosine (the inverse cosine).
-## Return Value
+## Return value
The **`acos`** function returns the arccosine of *x* in the range 0 to π radians.
@@ -46,7 +46,7 @@ By default, if *`x`* is less than -1 or greater than 1, **`acos`** returns an in
Because C++ allows overloading, you can call overloads of **`acos`** that take and return **`float`** and **`long double`** types. In a C program, unless you're using the `` macro to call this function, **`acos`** always takes and returns a **`double`**.
-If you use the `` `acos()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the `` `acos()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -109,7 +109,7 @@ Arccosine of 0.000000 = 1.570796
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`asin`, `asinf`, `asinl`](asin-asinf-asinl.md)\
[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](atan-atanf-atanl-atan2-atan2f-atan2l.md)\
[`cos`, `cosf`, `cosl`](cos-cosf-cosl.md)\
diff --git a/docs/c-runtime-library/reference/acosh-acoshf-acoshl.md b/docs/c-runtime-library/reference/acosh-acoshf-acoshl.md
index 63c3266ecf8..5b262a7df83 100644
--- a/docs/c-runtime-library/reference/acosh-acoshf-acoshl.md
+++ b/docs/c-runtime-library/reference/acosh-acoshf-acoshl.md
@@ -31,7 +31,7 @@ long double acosh( long double x ); // C++ only
*x*\
Floating-point value.
-## Return Value
+## Return value
The **acosh** functions return the inverse hyperbolic cosine (arc hyperbolic cosine) of *x*. These functions are valid over the domain *x* ≥ 1. If *x* is less than 1, `errno` is set to `EDOM`, and the result is a quiet NaN. If *x* is a quiet NaN, indefinite, or infinity, the same value is returned.
@@ -44,7 +44,7 @@ The **acosh** functions return the inverse hyperbolic cosine (arc hyperbolic cos
When you use C++, you can call overloads of **acosh** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **acosh** always takes and returns **`double`**.
-If you use the \ `acosh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `acosh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -55,7 +55,7 @@ By default, this function's global state is scoped to the application. To change
|**acosh**, **acoshf**, **acoshl**|\|\|
|**acosh()** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -87,9 +87,9 @@ acosh( 1.324609 ) = 0.785398
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[asinh, asinhf, asinhl](asinh-asinhf-asinhl.md)
-[atanh, atanhf, atanhl](atanh-atanhf-atanhl.md)
-[cosh, coshf, coshl](cosh-coshf-coshl.md)
-[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[asinh, asinhf, asinhl](asinh-asinhf-asinhl.md)\
+[atanh, atanhf, atanhl](atanh-atanhf-atanhl.md)\
+[cosh, coshf, coshl](cosh-coshf-coshl.md)\
+[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)\
[tanh, tanhf, tanhl](tanh-tanhf-tanhl.md)
diff --git a/docs/c-runtime-library/reference/aligned-free-dbg.md b/docs/c-runtime-library/reference/aligned-free-dbg.md
index 8b8945ddbad..fd0ef0b922f 100644
--- a/docs/c-runtime-library/reference/aligned-free-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-free-dbg.md
@@ -29,13 +29,13 @@ A pointer to the memory block that was returned to the [_aligned_malloc](aligned
## Remarks
-The **_aligned_free_dbg** function is a debug version of the [_aligned_free](aligned-free.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_free_dbg** is reduced to a call to `_aligned_free`. Both `_aligned_free` and **_aligned_free_dbg** free a memory block in the base heap, but **_aligned_free_dbg** accommodates a debugging feature: the ability to keep freed blocks in the heap's linked list to simulate low memory conditions.
+The **_aligned_free_dbg** function is a debug version of the [_aligned_free](aligned-free.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_free_dbg** is reduced to a call to `_aligned_free`. Both `_aligned_free` and **_aligned_free_dbg** free a memory block in the base heap, but **_aligned_free_dbg** accommodates a debugging feature: the ability to keep freed blocks in the heap's linked list to simulate low memory conditions.
-**_aligned_free_dbg** performs a validity check on all specified files and block locations before performing the free operation. The application isn't expected to provide this information. When a memory block is freed, the debug heap manager automatically checks the integrity of the buffers on either side of the user portion. It issues an error report if overwriting has occurred. If the _CRTDBG_DELAY_FREE_MEM_DF bit field of the [_crtDbgFlag](../../c-runtime-library/crtdbgflag.md) flag is set, the freed block is filled with the value 0xDD, assigned the _FREE_BLOCK block type, and kept in the heap's linked list of memory blocks.
+**_aligned_free_dbg** performs a validity check on all specified files and block locations before performing the free operation. The application isn't expected to provide this information. When a memory block is freed, the debug heap manager automatically checks the integrity of the buffers on either side of the user portion. It issues an error report if overwriting has occurred. If the _CRTDBG_DELAY_FREE_MEM_DF bit field of the [_crtDbgFlag](../crtdbgflag.md) flag is set, the freed block is filled with the value 0xDD, assigned the _FREE_BLOCK block type, and kept in the heap's linked list of memory blocks.
-If an error occurs in freeing the memory, `errno` is set with information from the operating system on the nature of the failure. For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+If an error occurs in freeing the memory, `errno` is set with information from the operating system on the nature of the failure. For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -43,8 +43,8 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_free_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-free.md b/docs/c-runtime-library/reference/aligned-free.md
index 4963bd580fb..083bc7c263f 100644
--- a/docs/c-runtime-library/reference/aligned-free.md
+++ b/docs/c-runtime-library/reference/aligned-free.md
@@ -47,4 +47,4 @@ For more information, see [_aligned_malloc](aligned-malloc.md).
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-malloc-dbg.md b/docs/c-runtime-library/reference/aligned-malloc-dbg.md
index 1fbee491a12..0d5c49e3cf2 100644
--- a/docs/c-runtime-library/reference/aligned-malloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-malloc-dbg.md
@@ -39,19 +39,19 @@ Pointer to the name of the source file that requested the allocation operation o
*`linenumber`*
Line number in the source file where the allocation operation was requested or NULL.
-## Return Value
+## Return value
A pointer to the memory block that was allocated or NULL if the operation failed.
## Remarks
-**_aligned_malloc_dbg** is a debug version of the [_aligned_malloc](aligned-malloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_malloc_dbg** is reduced to a call to `_aligned_malloc`. Both `_aligned_malloc` and **_aligned_malloc_dbg** allocate a block of memory in the base heap, but **_aligned_malloc_dbg** offers several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
+**_aligned_malloc_dbg** is a debug version of the [_aligned_malloc](aligned-malloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_malloc_dbg** is reduced to a call to `_aligned_malloc`. Both `_aligned_malloc` and **_aligned_malloc_dbg** allocate a block of memory in the base heap, but **_aligned_malloc_dbg** offers several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
**_aligned_malloc_dbg** allocates the memory block with slightly more space than the requested *`size`*. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. When the block is allocated, the user portion of the block is filled with the value 0xCD, and each of the overwrite buffers are filled with 0xFD.
-**_aligned_malloc_dbg** sets `errno` to `ENOMEM` if a memory allocation fails or if the amount of memory needed (including the overhead mentioned previously) exceeds `_HEAP_MAXREQ`. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_malloc_dbg** validates its parameters. If *alignment* isn't a power of 2 or *size* is zero, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns NULL and sets `errno` to `EINVAL`.
+**_aligned_malloc_dbg** sets `errno` to `ENOMEM` if a memory allocation fails or if the amount of memory needed (including the overhead mentioned previously) exceeds `_HEAP_MAXREQ`. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_malloc_dbg** validates its parameters. If *alignment* isn't a power of 2 or *size* is zero, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns NULL and sets `errno` to `EINVAL`.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -59,12 +59,12 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_malloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-malloc.md b/docs/c-runtime-library/reference/aligned-malloc.md
index 75a79fa6644..b761731ea6c 100644
--- a/docs/c-runtime-library/reference/aligned-malloc.md
+++ b/docs/c-runtime-library/reference/aligned-malloc.md
@@ -31,7 +31,7 @@ Size of the requested memory allocation.
*`alignment`*
The alignment value, which must be an integer power of 2.
-## Return Value
+## Return value
A pointer to the memory block that was allocated or `NULL` if the operation failed. The pointer is a multiple of *`alignment`*.
@@ -41,7 +41,7 @@ A pointer to the memory block that was allocated or `NULL` if the operation fail
**`_aligned_malloc`** is marked `__declspec(noalias)` and `__declspec(restrict)`, meaning that the function is guaranteed not to modify global variables and that the pointer returned isn't aliased. For more information, see [`noalias`](../../cpp/noalias.md) and [`restrict`](../../cpp/restrict.md).
-This function sets `errno` to `ENOMEM` if the memory allocation failed or if the requested size was greater than `_HEAP_MAXREQ`. For more information about `errno`, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **`_aligned_malloc`** validates its parameters. If *`alignment`* isn't a power of 2 or *`size`* is zero, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns NULL and sets `errno` to `EINVAL`.
+This function sets `errno` to `ENOMEM` if the memory allocation failed or if the requested size was greater than `_HEAP_MAXREQ`. For more information about `errno`, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **`_aligned_malloc`** validates its parameters. If *`alignment`* isn't a power of 2 or *`size`* is zero, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns NULL and sets `errno` to `EINVAL`.
Use [`_aligned_free`](aligned-free.md) to deallocate memory obtained by both **`_aligned_malloc`** and `_aligned_offset_malloc`. Don't use `free`, which doesn't reclaim the aligned memory correctly and can lead to hard-to-diagnose bugs.
@@ -137,4 +137,4 @@ This pointer, 3280891, is offset by 5 on alignment of 16
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-msize-dbg.md b/docs/c-runtime-library/reference/aligned-msize-dbg.md
index ac49a71223f..64068de02ca 100644
--- a/docs/c-runtime-library/reference/aligned-msize-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-msize-dbg.md
@@ -35,7 +35,7 @@ The alignment value, which must be an integer power of 2.
*`offset`*
The offset into the memory allocation to force the alignment.
-## Return Value
+## Return value
Returns the size (in bytes) as an unsigned integer.
@@ -43,11 +43,11 @@ Returns the size (in bytes) as an unsigned integer.
The *`alignment`* and *`offset`* values must be the same as the values passed to the function that allocated the block.
-**_aligned_msize_dbg** is a debug version of the [_aligned_msize](aligned-msize.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_msize_dbg** is reduced to a call to **_aligned_msize**. Both **_aligned_msize** and **_aligned_msize_dbg** calculate the size of a memory block in the base heap, but **_aligned_msize_dbg** adds a debugging feature: It includes the buffers on either side of the user portion of the memory block in the returned size.
+**_aligned_msize_dbg** is a debug version of the [_aligned_msize](aligned-msize.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_msize_dbg** is reduced to a call to **_aligned_msize**. Both **_aligned_msize** and **_aligned_msize_dbg** calculate the size of a memory block in the base heap, but **_aligned_msize_dbg** adds a debugging feature: It includes the buffers on either side of the user portion of the memory block in the returned size.
-This function validates its parameter. If *`memblock`* is a null pointer or *alignment* isn't a power of 2, **_msize** invokes an invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If the error is handled, the function sets **errno** to **EINVAL** and returns -1.
+This function validates its parameter. If *`memblock`* is a null pointer or *alignment* isn't a power of 2, **_msize** invokes an invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If the error is handled, the function sets **errno** to **EINVAL** and returns -1.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -55,12 +55,12 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_msize_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Memory Allocation](../../c-runtime-library/memory-allocation.md)
+[Memory allocation](../memory-allocation.md)
diff --git a/docs/c-runtime-library/reference/aligned-msize.md b/docs/c-runtime-library/reference/aligned-msize.md
index 3149e7c7bfb..bcd2860ca3d 100644
--- a/docs/c-runtime-library/reference/aligned-msize.md
+++ b/docs/c-runtime-library/reference/aligned-msize.md
@@ -35,7 +35,7 @@ The alignment value, which must be an integer power of 2.
*`offset`*
The offset into the memory allocation to force the alignment.
-## Return Value
+## Return value
Returns the size (in bytes) as an unsigned integer.
@@ -43,9 +43,9 @@ Returns the size (in bytes) as an unsigned integer.
The **_aligned_msize** function returns the size, in bytes, of the memory block allocated by a call to [_aligned_malloc](aligned-malloc.md) or [_aligned_realloc](aligned-realloc.md). The *`alignment`* and *`offset`* values must be the same as the values passed to the function that allocated the block.
-When the application is linked with a debug version of the C run-time libraries, **_aligned_msize** resolves to [_aligned_msize_dbg](aligned-msize-dbg.md). For more information about how the heap is managed during the debugging process, see [The CRT Debug Heap](/visualstudio/debugger/crt-debug-heap-details).
+When the application is linked with a debug version of the C run-time libraries, **_aligned_msize** resolves to [_aligned_msize_dbg](aligned-msize-dbg.md). For more information about how the heap is managed during the debugging process, see [The CRT debug heap](/visualstudio/debugger/crt-debug-heap-details).
-This function validates its parameter. If *`memblock`* is a null pointer or *`alignment`* isn't a power of 2, **_aligned_msize** invokes an invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If the error is handled, the function sets **errno** to **EINVAL** and returns -1.
+This function validates its parameter. If *`memblock`* is a null pointer or *`alignment`* isn't a power of 2, **_aligned_msize** invokes an invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If the error is handled, the function sets **errno** to **EINVAL** and returns -1.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -55,12 +55,12 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**_aligned_msize**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-All versions of the [C run-time libraries](../../c-runtime-library/crt-library-features.md).
+All versions of the [C run-time libraries](../crt-library-features.md).
## See also
-[Memory Allocation](../../c-runtime-library/memory-allocation.md)
+[Memory allocation](../memory-allocation.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-malloc-dbg.md b/docs/c-runtime-library/reference/aligned-offset-malloc-dbg.md
index 2e6938ce009..8f1e16b0b30 100644
--- a/docs/c-runtime-library/reference/aligned-offset-malloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-offset-malloc-dbg.md
@@ -43,13 +43,13 @@ Pointer to the name of the source file that requested the allocation operation o
*`linenumber`*
Line number in the source file where the allocation operation was requested or **NULL**.
-## Return Value
+## Return value
A pointer to the memory block that was allocated or **NULL** if the operation failed.
## Remarks
-**_aligned_offset_malloc_dbg** is a debug version of the [_aligned_offset_malloc](aligned-offset-malloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_offset_malloc_dbg** is reduced to a call to **_aligned_offset_malloc**. Both **_aligned_offset_malloc** and **_aligned_offset_malloc_dbg** allocate a block of memory in the base heap, but **_aligned_offset_malloc_dbg** offers several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
+**_aligned_offset_malloc_dbg** is a debug version of the [_aligned_offset_malloc](aligned-offset-malloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_offset_malloc_dbg** is reduced to a call to **_aligned_offset_malloc**. Both **_aligned_offset_malloc** and **_aligned_offset_malloc_dbg** allocate a block of memory in the base heap, but **_aligned_offset_malloc_dbg** offers several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
**_aligned_offset_malloc_dbg** allocates the memory block with slightly more space than the requested *`size`*. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. When the block is allocated, the user portion of the block is filled with the value 0xCD, and each of the overwrite buffers are filled with 0xFD.
@@ -57,9 +57,9 @@ A pointer to the memory block that was allocated or **NULL** if the operation fa
**_aligned_offset_malloc_dbg** is based on **malloc**; for more information, see [malloc](malloc.md).
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_malloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_malloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details).
For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details).
@@ -69,12 +69,12 @@ For information about the allocation block types and how they're used, see [Type
|-------------|---------------------|
|**_aligned_offset_malloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-malloc.md b/docs/c-runtime-library/reference/aligned-offset-malloc.md
index 1d9bd81522f..d35081caf69 100644
--- a/docs/c-runtime-library/reference/aligned-offset-malloc.md
+++ b/docs/c-runtime-library/reference/aligned-offset-malloc.md
@@ -35,7 +35,7 @@ The alignment value, which must be an integer power of 2.
*`offset`*
The offset into the memory allocation to force the alignment.
-## Return Value
+## Return value
A pointer to the memory block that was allocated or **NULL** if the operation failed.
@@ -47,7 +47,7 @@ A pointer to the memory block that was allocated or **NULL** if the operation fa
**_aligned_offset_malloc** is marked `__declspec(noalias)` and `__declspec(restrict)`, meaning that the function is guaranteed not to modify global variables and that the pointer returned isn't aliased. For more information, see [`noalias`](../../cpp/noalias.md) and [restrict](../../cpp/restrict.md).
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_malloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_malloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -63,4 +63,4 @@ For more information, see [_aligned_malloc](aligned-malloc.md).
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-realloc-dbg.md b/docs/c-runtime-library/reference/aligned-offset-realloc-dbg.md
index 93a60cd7ee9..7b8401348ef 100644
--- a/docs/c-runtime-library/reference/aligned-offset-realloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-offset-realloc-dbg.md
@@ -47,21 +47,21 @@ Pointer to the name of the source file that requested the **aligned_offset_reall
*`linenumber`*
Line number in the source file where the **aligned_offset_realloc** operation was requested or **NULL**.
-## Return Value
+## Return value
**_aligned_offset_realloc_dbg** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that's suitably aligned for storage of any type of object. To get a pointer to a type other than void, use a type cast on the return value.
## Remarks
-**_aligned_offset_realloc_dbg** is a debug version of the [_aligned_offset_realloc](aligned-offset-realloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_offset_realloc_dbg** is reduced to a call to **_aligned_offset_realloc**. Both **_aligned_offset_realloc** and **_aligned_offset_realloc_dbg** reallocate a memory block in the base heap, but **_aligned_offset_realloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
+**_aligned_offset_realloc_dbg** is a debug version of the [_aligned_offset_realloc](aligned-offset-realloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_offset_realloc_dbg** is reduced to a call to **_aligned_offset_realloc**. Both **_aligned_offset_realloc** and **_aligned_offset_realloc_dbg** reallocate a memory block in the base heap, but **_aligned_offset_realloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
Like [_aligned_offset_malloc](aligned-offset-malloc.md), **_aligned_offset_realloc_dbg** allows a structure to be aligned at an offset within the structure.
**_realloc_dbg** reallocates the specified memory block with slightly more space than the requested *newSize*. *newSize* might be greater or less than the size of the originally allocated memory block. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. The reallocation might both move the original memory block to a different location in the heap, and also change the size of the memory block. If the memory block is moved, the contents of the original block are overwritten.
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_realloc_dbg** validates its parameters. If *`alignment`* isn't a power of 2 or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_realloc_dbg** validates its parameters. If *`alignment`* isn't a power of 2 or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -69,12 +69,12 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_offset_realloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-realloc.md b/docs/c-runtime-library/reference/aligned-offset-realloc.md
index 3e82c9c056f..2f557bfc8af 100644
--- a/docs/c-runtime-library/reference/aligned-offset-realloc.md
+++ b/docs/c-runtime-library/reference/aligned-offset-realloc.md
@@ -39,7 +39,7 @@ The alignment value, which must be an integer power of 2.
*`offset`*
The offset into the memory allocation to force the alignment.
-## Return Value
+## Return value
**_aligned_offset_realloc** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than `void`, use a type cast on the return value.
@@ -51,7 +51,7 @@ Like [_aligned_offset_malloc](aligned-offset-malloc.md), **_aligned_offset_reall
**_aligned_offset_realloc** is based on **malloc**. For more information about using **_aligned_offset_malloc**, see [malloc](malloc.md). If *`memblock`* is **NULL**, the function calls **_aligned_offset_malloc** internally.
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_realloc** validates its parameters. If *`alignment`* isn't a power of 2 or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_realloc** validates its parameters. If *`alignment`* isn't a power of 2 or if *`offset`* is non-zero and greater than or equal to *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -67,4 +67,4 @@ For more information, see [_aligned_malloc](aligned-malloc.md).
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-recalloc-dbg.md b/docs/c-runtime-library/reference/aligned-offset-recalloc-dbg.md
index 43ae95cba88..12001993f21 100644
--- a/docs/c-runtime-library/reference/aligned-offset-recalloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-offset-recalloc-dbg.md
@@ -51,19 +51,19 @@ Pointer to the name of the source file that requested the realloc operation or *
*`linenumber`*
Line number in the source file where the realloc operation was requested or **NULL**.
-## Return Value
+## Return value
**_aligned_offset_recalloc_dbg** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than `void`, use a type cast on the return value.
## Remarks
-**_aligned_offset_realloc_dbg** is a debug version of the [_aligned_offset_recalloc](aligned-offset-recalloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_offset_recalloc_dbg** is reduced to a call to **_aligned_offset_recalloc**. Both **_aligned_offset_recalloc** and **_aligned_offset_recalloc_dbg** reallocate a memory block in the base heap, but **_aligned_offset_recalloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *filename*/*linenumber* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a _NORMAL_BLOCK block type.
+**_aligned_offset_realloc_dbg** is a debug version of the [_aligned_offset_recalloc](aligned-offset-recalloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_offset_recalloc_dbg** is reduced to a call to **_aligned_offset_recalloc**. Both **_aligned_offset_recalloc** and **_aligned_offset_recalloc_dbg** reallocate a memory block in the base heap, but **_aligned_offset_recalloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *filename*/*linenumber* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a _NORMAL_BLOCK block type.
**_aligned_offset_realloc_dbg** reallocates the specified memory block with slightly more space than the requested *newSize*. *newSize* might be greater or less than the size of the originally allocated memory block. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. The reallocation might both move the original memory block to a different location in the heap, and also change the size of the memory block. If the memory block is moved, the contents of the original block are overwritten.
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size (*number* * *size*) was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_recalloc_dbg** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to the requested *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size (*number* * *size*) was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_recalloc_dbg** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to the requested *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -73,4 +73,4 @@ For information about how memory blocks are allocated, initialized, and managed
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-offset-recalloc.md b/docs/c-runtime-library/reference/aligned-offset-recalloc.md
index 90ae1c653a2..487babac1d8 100644
--- a/docs/c-runtime-library/reference/aligned-offset-recalloc.md
+++ b/docs/c-runtime-library/reference/aligned-offset-recalloc.md
@@ -43,7 +43,7 @@ The alignment value, which must be an integer power of 2.
*`offset`*
The offset into the memory allocation to force the alignment.
-## Return Value
+## Return value
**_aligned_offset_recalloc** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than void, use a type cast on the return value.
@@ -55,7 +55,7 @@ Like [_aligned_offset_malloc](aligned-offset-malloc.md), **_aligned_offset_recal
**_aligned_offset_recalloc** is based on **malloc**. For more information about using **_aligned_offset_malloc**, see [malloc](malloc.md). If *`memblock`* is **NULL**, the function calls **_aligned_offset_malloc** internally.
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size (*number* * *size*) was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_recalloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to the requested *`size`*, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size (*number* * *size*) was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_offset_recalloc** validates its parameters. If *`alignment`* isn't a power of 2, or if *`offset`* is non-zero and greater than or equal to the requested *`size`*, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -67,6 +67,6 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
-[_recalloc](recalloc.md)
-[_aligned_recalloc](aligned-recalloc.md)
+[Data alignment](../data-alignment.md)\
+[_recalloc](recalloc.md)\
+[_aligned_recalloc](aligned-recalloc.md)
diff --git a/docs/c-runtime-library/reference/aligned-realloc-dbg.md b/docs/c-runtime-library/reference/aligned-realloc-dbg.md
index 9383c552a63..6c7bd101be6 100644
--- a/docs/c-runtime-library/reference/aligned-realloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-realloc-dbg.md
@@ -43,7 +43,7 @@ Pointer to the name of the source file that requested the **realloc** operation
*`linenumber`*
Line number in the source file where the **realloc** operation was requested or **NULL**.
-## Return Value
+## Return value
**_aligned_realloc_dbg** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than void, use a type cast on the return value.
@@ -51,15 +51,15 @@ It's an error to reallocate memory and change the alignment of a block.
## Remarks
-**_aligned_realloc_dbg** is a debug version of the [_aligned_realloc](aligned-realloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_realloc_dbg** is reduced to a call to **_aligned_realloc**. Both **_aligned_realloc** and **_aligned_realloc_dbg** reallocate a memory block in the base heap, but **_aligned_realloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
+**_aligned_realloc_dbg** is a debug version of the [_aligned_realloc](aligned-realloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_realloc_dbg** is reduced to a call to **_aligned_realloc**. Both **_aligned_realloc** and **_aligned_realloc_dbg** reallocate a memory block in the base heap, but **_aligned_realloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a `_NORMAL_BLOCK` block type.
**_aligned_realloc_dbg** reallocates the specified memory block with slightly more space than the requested *newSize*. *newSize* might be greater or less than the size of the originally allocated memory block. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. The reallocation might both move the original memory block to a different location in the heap, and change the size of the memory block. If the memory block is moved, the contents of the original block are overwritten.
-**_aligned_realloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails or if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+**_aligned_realloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails or if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
-Also, **_aligned_realloc_dbg** validates its parameters. If *alignment* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+Also, **_aligned_realloc_dbg** validates its parameters. If *alignment* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -67,12 +67,12 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_realloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-realloc.md b/docs/c-runtime-library/reference/aligned-realloc.md
index 4ce426f98b5..93baa8aad2e 100644
--- a/docs/c-runtime-library/reference/aligned-realloc.md
+++ b/docs/c-runtime-library/reference/aligned-realloc.md
@@ -35,7 +35,7 @@ The size of the requested memory allocation.
*`alignment`*
The alignment value, which must be an integer power of 2.
-## Return Value
+## Return value
**_aligned_realloc** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than void, use a type cast on the return value.
@@ -45,7 +45,7 @@ It's an error to reallocate memory and change the alignment of a block.
**_aligned_realloc** is based on **malloc**. For more information about using **_aligned_offset_malloc**, see [malloc](malloc.md).
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_realloc** validates its parameters. If *`alignment`* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_realloc** validates its parameters. If *`alignment`* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -61,4 +61,4 @@ For more information, see [_aligned_malloc](aligned-malloc.md).
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
+[Data alignment](../data-alignment.md)
diff --git a/docs/c-runtime-library/reference/aligned-recalloc-dbg.md b/docs/c-runtime-library/reference/aligned-recalloc-dbg.md
index d64781022d3..d767d4f4228 100644
--- a/docs/c-runtime-library/reference/aligned-recalloc-dbg.md
+++ b/docs/c-runtime-library/reference/aligned-recalloc-dbg.md
@@ -47,7 +47,7 @@ Pointer to name of the source file that requested allocation operation or **NULL
*`linenumber`*
Line number in the source file where allocation operation was requested or **NULL**.
-## Return Value
+## Return value
**_aligned_recalloc_dbg** returns a `void` pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than `void`, use a type cast on the return value.
@@ -55,15 +55,15 @@ It's an error to reallocate memory and change the alignment of a block.
## Remarks
-**_aligned_recalloc_dbg** is a debug version of the [_aligned_recalloc](aligned-recalloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_aligned_recalloc_dbg** is reduced to a call to **_aligned_recalloc**. Both **_aligned_recalloc** and **_aligned_recalloc_dbg** reallocate a memory block in the base heap, but **_aligned_recalloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a _NORMAL_BLOCK block type.
+**_aligned_recalloc_dbg** is a debug version of the [_aligned_recalloc](aligned-recalloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_aligned_recalloc_dbg** is reduced to a call to **_aligned_recalloc**. Both **_aligned_recalloc** and **_aligned_recalloc_dbg** reallocate a memory block in the base heap, but **_aligned_recalloc_dbg** accommodates several debugging features: buffers on either side of the user portion of the block to test for leaks, and *`filename`*/*`linenumber`* information to determine the origin of allocation requests. Tracking specific allocation types with a block type parameter isn't a supported debug feature for aligned allocations. Aligned allocations will appear as a _NORMAL_BLOCK block type.
**_aligned_recalloc_dbg** reallocates the specified memory block with slightly more space than the requested size (*`number`* * *`size`*) which might be greater or less than the size of the originally allocated memory block. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. The reallocation might both move the original memory block to a different location in the heap, and change the size of the memory block. The user portion of the block is filled with the value 0xCD, and the overwrite buffers are filled with 0xFD.
-**_aligned_recalloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails; **EINVAL** is returned if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+**_aligned_recalloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails; **EINVAL** is returned if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
-Also, **_aligned_recalloc_dbg** validates its parameters. If *alignment* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+Also, **_aligned_recalloc_dbg** validates its parameters. If *alignment* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the allocation block types and how they're used, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between standard heap functions and their debug versions, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -71,12 +71,12 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_aligned_recalloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/aligned-recalloc.md b/docs/c-runtime-library/reference/aligned-recalloc.md
index 2a732394c59..c14d52b9286 100644
--- a/docs/c-runtime-library/reference/aligned-recalloc.md
+++ b/docs/c-runtime-library/reference/aligned-recalloc.md
@@ -39,7 +39,7 @@ The size in bytes of each element.
*`alignment`*
The alignment value, which must be an integer power of 2.
-## Return Value
+## Return value
**_aligned_recalloc** returns a void pointer to the reallocated (and possibly moved) memory block. The return value is **NULL** if the size is zero and the buffer argument isn't **NULL**, or if there isn't enough available memory to expand the block to the given size. In the first case, the original block is freed. In the second case, the original block is unchanged. The return value points to a storage space that is suitably aligned for storage of any type of object. To get a pointer to a type other than void, use a type cast on the return value.
@@ -49,7 +49,7 @@ It's an error to reallocate memory and change the alignment of a block.
**_aligned_recalloc** is based on **malloc**. For more information about using **_aligned_offset_malloc**, see [malloc](malloc.md).
-This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_recalloc** validates its parameters. If *`alignment`* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
+This function sets **errno** to **ENOMEM** if the memory allocation failed or if the requested size was greater than **_HEAP_MAXREQ**. For more information about **errno**, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md). Also, **_aligned_recalloc** validates its parameters. If *`alignment`* isn't a power of 2, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -61,6 +61,6 @@ By default, this function's global state is scoped to the application. To change
## See also
-[Data Alignment](../../c-runtime-library/data-alignment.md)
-[_recalloc](recalloc.md)
-[_aligned_offset_recalloc](aligned-offset-recalloc.md)
+[Data alignment](../data-alignment.md)\
+[_recalloc](recalloc.md)\
+[_aligned_offset_recalloc](aligned-offset-recalloc.md)
diff --git a/docs/c-runtime-library/reference/alloca.md b/docs/c-runtime-library/reference/alloca.md
index 28a8b705f38..a5680b3fb5e 100644
--- a/docs/c-runtime-library/reference/alloca.md
+++ b/docs/c-runtime-library/reference/alloca.md
@@ -26,11 +26,11 @@ void *_alloca(
*`size`*\
Bytes to be allocated from the stack.
-## Return Value
+## Return value
The **`_alloca`** routine returns a **`void`** pointer to the allocated space, which is suitably aligned for storage of any type of object. If *`size`* is 0, **`_alloca`** allocates a zero-length item and returns a valid pointer to that item.
-A stack overflow exception is generated if the space can't be allocated. The stack overflow exception isn't a C++ exception; it's a structured exception. Instead of using C++ exception handling, you must use [Structured Exception Handling](../../cpp/structured-exception-handling-c-cpp.md) (SEH).
+A stack overflow exception is generated if the space can't be allocated. The stack overflow exception isn't a C++ exception; it's a structured exception. Instead of using C++ exception handling, you must use [Structured exception handling](../../cpp/structured-exception-handling-c-cpp.md) (SEH).
## Remarks
@@ -117,7 +117,7 @@ Allocated 1000 bytes of stack at 0x0012FB50
## See also
-[Memory Allocation](../../c-runtime-library/memory-allocation.md)\
+[Memory allocation](../memory-allocation.md)\
[`calloc`](calloc.md)\
[`malloc`](malloc.md)\
[`realloc`](realloc.md)\
diff --git a/docs/c-runtime-library/reference/asctime-s-wasctime-s.md b/docs/c-runtime-library/reference/asctime-s-wasctime-s.md
index dcd4c50c988..65af17dd590 100644
--- a/docs/c-runtime-library/reference/asctime-s-wasctime-s.md
+++ b/docs/c-runtime-library/reference/asctime-s-wasctime-s.md
@@ -12,7 +12,7 @@ ms.assetid: 17ad9b2b-a459-465d-976a-42822897688a
---
# asctime_s, _wasctime_s
-Convert a `tm` time structure to a character string. These functions are versions of [asctime, _wasctime](asctime-wasctime.md) with security enhancements as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Convert a `tm` time structure to a character string. These functions are versions of [asctime, _wasctime](asctime-wasctime.md) with security enhancements as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -50,11 +50,11 @@ The size of the buffer used to store the result.
*`tmSource`*
Time/date structure. This function assumes a pointer to a valid `struct tm` object.
-## Return Value
+## Return value
-Zero if successful. If there's a failure, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the return value is an error code. Error codes are defined in ERRNO.H. For more information, see [errno Constants](../../c-runtime-library/errno-constants.md). The actual error codes returned for each error condition are shown in the following table.
+Zero if successful. If there's a failure, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the return value is an error code. Error codes are defined in ERRNO.H. For more information, see [`errno` constants](../errno-constants.md). The actual error codes returned for each error condition are shown in the following table.
-### Error Conditions
+### Error conditions
|*buffer*|*numberOfElements*|*tmSource*|Return|Value in *buffer*|
|--------------|------------------------|----------|------------|-----------------------|
@@ -93,13 +93,13 @@ The debug library versions of these functions first fill the buffer with 0xFE. T
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mapping
+### Generic-text routine mapping
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|------------------------------------|--------------------|-----------------------|
|**_tasctime_s**|**asctime_s**|**asctime_s**|**_wasctime_s**|
-In C++, using these functions is simplified by template overloads; the overloads can infer buffer length automatically, eliminating the need to specify a size argument. For more information, see [Secure Template Overloads](../../c-runtime-library/secure-template-overloads.md).
+In C++, using these functions is simplified by template overloads; the overloads can infer buffer length automatically, eliminating the need to specify a size argument. For more information, see [Secure template overloads](../secure-template-overloads.md).
## Requirements
@@ -152,10 +152,10 @@ Current date and time: Wed May 14 15:30:17 2003
## See also
-[Time Management](../../c-runtime-library/time-management.md)
-[ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s](ctime-s-ctime32-s-ctime64-s-wctime-s-wctime32-s-wctime64-s.md)
-[_ftime, _ftime32, _ftime64](ftime-ftime32-ftime64.md)
-[gmtime_s, _gmtime32_s, _gmtime64_s](gmtime-s-gmtime32-s-gmtime64-s.md)
-[localtime_s, _localtime32_s, _localtime64_s](localtime-s-localtime32-s-localtime64-s.md)
-[time, _time32, _time64](time-time32-time64.md)
-[_tzset](tzset.md)
+[Time management](../time-management.md)\
+[ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s](ctime-s-ctime32-s-ctime64-s-wctime-s-wctime32-s-wctime64-s.md)\
+[_ftime, _ftime32, _ftime64](ftime-ftime32-ftime64.md)\
+[gmtime_s, _gmtime32_s, _gmtime64_s](gmtime-s-gmtime32-s-gmtime64-s.md)\
+[localtime_s, _localtime32_s, _localtime64_s](localtime-s-localtime32-s-localtime64-s.md)\
+[time, _time32, _time64](time-time32-time64.md)\
+[_tzset](tzset.md)
diff --git a/docs/c-runtime-library/reference/asctime-wasctime.md b/docs/c-runtime-library/reference/asctime-wasctime.md
index 11a398cf1ad..512865a909a 100644
--- a/docs/c-runtime-library/reference/asctime-wasctime.md
+++ b/docs/c-runtime-library/reference/asctime-wasctime.md
@@ -30,7 +30,7 @@ wchar_t *_wasctime(
*`timeptr`*
Time/date structure.
-## Return Value
+## Return value
**asctime** returns a pointer to the character string result; **_wasctime** returns a pointer to the wide-character string result. There's no error return value.
@@ -58,11 +58,11 @@ The string result produced by **asctime** contains exactly 26 characters and has
**_wasctime** is a wide-character version of **asctime**. **_wasctime** and **asctime** behave identically otherwise.
-These functions validate their parameters. If *timeptr* is a null pointer, or if it contains out-of-range values, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the function returns **NULL** and sets **errno** to **EINVAL**.
+These functions validate their parameters. If *timeptr* is a null pointer, or if it contains out-of-range values, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the function returns **NULL** and sets **errno** to **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mapping
+### Generic-text routine mapping
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|------------------------------------|--------------------|-----------------------|
@@ -109,11 +109,11 @@ Current date and time: Sun Feb 3 11:38:58 2002
## See also
-[Time Management](../../c-runtime-library/time-management.md)
-[ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64](ctime-ctime32-ctime64-wctime-wctime32-wctime64.md)
-[_ftime, _ftime32, _ftime64](ftime-ftime32-ftime64.md)
-[gmtime, _gmtime32, _gmtime64](gmtime-gmtime32-gmtime64.md)
-[localtime, _localtime32, _localtime64](localtime-localtime32-localtime64.md)
-[time, _time32, _time64](time-time32-time64.md)
-[_tzset](tzset.md)
-[asctime_s, _wasctime_s](asctime-s-wasctime-s.md)
+[Time management](../time-management.md)\
+[ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64](ctime-ctime32-ctime64-wctime-wctime32-wctime64.md)\
+[_ftime, _ftime32, _ftime64](ftime-ftime32-ftime64.md)\
+[gmtime, _gmtime32, _gmtime64](gmtime-gmtime32-gmtime64.md)\
+[localtime, _localtime32, _localtime64](localtime-localtime32-localtime64.md)\
+[time, _time32, _time64](time-time32-time64.md)\
+[_tzset](tzset.md)\
+[asctime_s, _wasctime_s](asctime-s-wasctime-s.md)
diff --git a/docs/c-runtime-library/reference/asin-asinf-asinl.md b/docs/c-runtime-library/reference/asin-asinf-asinl.md
index 55a482b64ce..14ded8f1e2d 100644
--- a/docs/c-runtime-library/reference/asin-asinf-asinl.md
+++ b/docs/c-runtime-library/reference/asin-asinf-asinl.md
@@ -30,7 +30,7 @@ long double asin( long double x ); // C++ only
*`x`*\
Value whose arcsine is to be calculated.
-## Return Value
+## Return value
The **`asin`** function returns the arcsine (the inverse sine function) of *`x`* in the range -π/2 to π/2 radians.
@@ -46,7 +46,7 @@ By default, if *`x`* is less than -1 or greater than 1, **`asin`** returns an in
Because C++ allows overloading, you can call overloads of **`asin`** with **`float`** and **`long double`** values. In a C program, unless you're using the `` macro to call this function, **`asin`** always takes and returns a **`double`**.
-If you use the `` `asin()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the `` `asin()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -63,7 +63,7 @@ For more information, see [`acos`, `acosf`, `acosl`](acos-acosf-acosl.md).
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`acos`, `acosf`, `acosl`](acos-acosf-acosl.md)\
[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](atan-atanf-atanl-atan2-atan2f-atan2l.md)\
[`cos`, `cosf`, `cosl`](cos-cosf-cosl.md)\
diff --git a/docs/c-runtime-library/reference/asinh-asinhf-asinhl.md b/docs/c-runtime-library/reference/asinh-asinhf-asinhl.md
index c99f3a59fb7..fa49ddebac3 100644
--- a/docs/c-runtime-library/reference/asinh-asinhf-asinhl.md
+++ b/docs/c-runtime-library/reference/asinh-asinhf-asinhl.md
@@ -31,7 +31,7 @@ long double asinh( long double x ); // C++ only
*x*
Floating-point value.
-## Return Value
+## Return value
The **asinh** functions return the inverse hyperbolic sine (arc hyperbolic sine) of *x*. This function is valid over the floating-point domain. If *x* is a quiet NaN, indefinite, or infinity, the same value is returned.
@@ -43,7 +43,7 @@ The **asinh** functions return the inverse hyperbolic sine (arc hyperbolic sine)
When you use C++, you can call overloads of **asinh** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **asinh** always takes and returns **`double`**.
-If you use the \ `asinh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `asinh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this, see [Global state in the CRT](../global-state.md).
@@ -54,7 +54,7 @@ By default, this function's global state is scoped to the application. To change
|**asinh**, **asinhf**, **asinhl**|\|\ or \|
|**asinh()** macro | \ ||
-For additional compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For additional compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -86,9 +86,9 @@ asinh( 0.868671 ) = 0.785398
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[acosh, acoshf, acoshl](acosh-acoshf-acoshl.md)
-[atanh, atanhf, atanhl](atanh-atanhf-atanhl.md)
-[cosh, coshf, coshl](cosh-coshf-coshl.md)
-[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)
-[tanh, tanhf, tanhl](tanh-tanhf-tanhl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[acosh, acoshf, acoshl](acosh-acoshf-acoshl.md)\
+[atanh, atanhf, atanhl](atanh-atanhf-atanhl.md)\
+[cosh, coshf, coshl](cosh-coshf-coshl.md)\
+[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)\
+[tanh, tanhf, tanhl](tanh-tanhf-tanhl.md)
diff --git a/docs/c-runtime-library/reference/assert-asserte-assert-expr-macros.md b/docs/c-runtime-library/reference/assert-asserte-assert-expr-macros.md
index 807e109f8a7..b04f434fe03 100644
--- a/docs/c-runtime-library/reference/assert-asserte-assert-expr-macros.md
+++ b/docs/c-runtime-library/reference/assert-asserte-assert-expr-macros.md
@@ -31,7 +31,7 @@ A wide string to display as part of the report.
## Remarks
-The **`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** macros provide an application with a clean and simple mechanism for checking assumptions during the debugging process. They're flexible because they don't need to be enclosed in `#ifdef` statements to prevent them from being called in a retail build of an application. This flexibility is achieved by using the [`_DEBUG`](../../c-runtime-library/debug.md) macro. **`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** are only available when **`_DEBUG`** is defined at compile time. When **`_DEBUG`** isn't defined, calls to these macros are removed during preprocessing.
+The **`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** macros provide an application with a clean and simple mechanism for checking assumptions during the debugging process. They're flexible because they don't need to be enclosed in `#ifdef` statements to prevent them from being called in a retail build of an application. This flexibility is achieved by using the [`_DEBUG`](../debug.md) macro. **`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** are only available when **`_DEBUG`** is defined at compile time. When **`_DEBUG`** isn't defined, calls to these macros are removed during preprocessing.
**`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** evaluate their *`booleanExpression`* argument and when the result is **`false`** (0), they print a diagnostic message and call [`_CrtDbgReportW`](crtdbgreport-crtdbgreportw.md) to generate a debug report. The **`_ASSERT`** macro prints a simple diagnostic message, **`_ASSERTE`** includes a string representation of the failed expression in the message, and **`_ASSERT_EXPR`** includes the *`message`* string in the diagnostic message. These macros do nothing when *`booleanExpression`* evaluates to nonzero.
@@ -49,7 +49,7 @@ _CrtSetReportMode(CRT_ASSERT, _CRTDBG_MODE_WNDW);
When the destination is a debug message window and the user selects the **Retry** button, **`_CrtDbgReportW`** returns 1, causing the **`_ASSERT_EXPR`**, **`_ASSERT`** and **`_ASSERTE`** macros to start the debugger if just-in-time (JIT) debugging is enabled.
-For more information about the reporting process, see the [`_CrtDbgReport`, `_CrtDbgReportW`](crtdbgreport-crtdbgreportw.md) function. For more information about resolving assertion failures and using these macros as a debugging error handling mechanism, see [Using Macros for Verification and Reporting](/visualstudio/debugger/macros-for-reporting).
+For more information about the reporting process, see the [`_CrtDbgReport`, `_CrtDbgReportW`](crtdbgreport-crtdbgreportw.md) function. For more information about resolving assertion failures and using these macros as a debugging error handling mechanism, see [Using macros for verification and reporting](/visualstudio/debugger/macros-for-reporting).
In addition to the **`_ASSERT`** macros, the [`assert`](assert-macro-assert-wassert.md) macro can be used to verify program logic. This macro is available in both the debug and release versions of the libraries. The [`_RPT`, `_RPTF`](rpt-rptf-rptw-rptfw-macros.md) debug macros are also available for generating a debug report, but they don't evaluate an expression. The **`_RPT`** macros generate a simple report. The **`_RPTF`** macros include the source file and line number where the report macro was called in the generated report. Wide character versions of these macros are available (**`_RPTW`**, **`_RPTFW`**). The wide character versions are identical to the narrow character versions except that wide character strings are used for all string parameters and output.
@@ -139,6 +139,6 @@ crt_ASSERT_macro.c(59) : Assertion failed: p1 == p2
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)\
+[Debug routines](../debug-routines.md)\
[`assert` Macro, `_assert`, `_wassert`](assert-macro-assert-wassert.md)\
[`_RPT`, `_RPTF`, `_RPTW`, `_RPTFW` Macros](rpt-rptf-rptw-rptfw-macros.md)
diff --git a/docs/c-runtime-library/reference/assert-macro-assert-wassert.md b/docs/c-runtime-library/reference/assert-macro-assert-wassert.md
index 2c63ad43cfa..f28e8858792 100644
--- a/docs/c-runtime-library/reference/assert-macro-assert-wassert.md
+++ b/docs/c-runtime-library/reference/assert-macro-assert-wassert.md
@@ -68,11 +68,11 @@ As a consequence of the above behavior, a dialog box is always displayed followi
|`Retry`|Break into debugger during `abort`|Break into debugger during `assert`|
|`Ignore`|Finish exiting via `abort`|Continue program as though `assert` didn't fire (may result in undefined behavior since preconditions of the calling code weren't met)|
-For more information about CRT debugging, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
+For more information about CRT debugging, see [CRT debugging techniques](/visualstudio/debugger/crt-debugging-techniques).
The `_assert` and `_wassert` functions are internal CRT functions. They help minimize the code required in your object files to support assertions. We don't recommend that you call these functions directly.
-The `assert` macro is enabled in both the release and debug versions of the C run-time libraries when **`NDEBUG`** isn't defined. When **`NDEBUG`** is defined, the macro is available, but doesn't evaluate its argument and has no effect. When it's enabled, the `assert` macro calls `_wassert` for its implementation. Other assertion macros, [`_ASSERT`](assert-asserte-assert-expr-macros.md), [`_ASSERTE`](assert-asserte-assert-expr-macros.md) and [`_ASSERT_EXPR`](assert-asserte-assert-expr-macros.md), are also available, but they only evaluate the expressions passed to them when the [`_DEBUG`](../../c-runtime-library/debug.md) macro has been defined and when they are in code linked with the debug version of the C run-time libraries.
+The `assert` macro is enabled in both the release and debug versions of the C run-time libraries when **`NDEBUG`** isn't defined. When **`NDEBUG`** is defined, the macro is available, but doesn't evaluate its argument and has no effect. When it's enabled, the `assert` macro calls `_wassert` for its implementation. Other assertion macros, [`_ASSERT`](assert-asserte-assert-expr-macros.md), [`_ASSERTE`](assert-asserte-assert-expr-macros.md) and [`_ASSERT_EXPR`](assert-asserte-assert-expr-macros.md), are also available, but they only evaluate the expressions passed to them when the [`_DEBUG`](../debug.md) macro has been defined and when they are in code linked with the debug version of the C run-time libraries.
## Requirements
@@ -135,10 +135,10 @@ If a debugger is installed, choose the **Debug** button to start the debugger, o
## See also
-[Error Handling](../../c-runtime-library/error-handling-crt.md)
-[Process and Environment Control](../../c-runtime-library/process-and-environment-control.md)
-[`abort`](abort.md)
-[`raise`](raise.md)
-[`signal`](signal.md)
-[`_ASSERT`, `_ASSERTE`, `_ASSERT_EXPR` Macros](assert-asserte-assert-expr-macros.md)
-[`_DEBUG`](../../c-runtime-library/debug.md)
+[Error handling](../error-handling-crt.md)\
+[Process and environment control](../process-and-environment-control.md)\
+[`abort`](abort.md)\
+[`raise`](raise.md)\
+[`signal`](signal.md)\
+[`_ASSERT`, `_ASSERTE`, `_ASSERT_EXPR` Macros](assert-asserte-assert-expr-macros.md)\
+[`_DEBUG`](../debug.md)
diff --git a/docs/c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md b/docs/c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md
index 6dfe7cc0836..990dac0bab5 100644
--- a/docs/c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md
+++ b/docs/c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md
@@ -38,7 +38,7 @@ long double atan2( long double y, long double x ); // C++ only
*`x`*, *`y`*\
Any numbers.
-## Return Value
+## Return value
**`atan`** returns the arctangent of *`x`* in the range -π/2 to π/2 radians. **`atan2`** returns the arctangent of *`y`*/*`x`* in the range -π to π radians. If *`x`* is 0, **`atan`** returns 0. If both parameters of **`atan2`** are 0, the function returns 0. All results are in radians.
@@ -52,7 +52,7 @@ Any numbers.
The **`atan`** function calculates the arctangent (the inverse tangent function) of *`x`*. **`atan2`** calculates the arctangent of *`y`*/*`x`* (if *`x`* equals 0, **`atan2`** returns π/2 if *`y`* is positive, -π/2 if *`y`* is negative, or 0 if *`y`* is 0.)
-If you use the `` `atan()` or `atan2()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the `` `atan()` or `atan2()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
**`atan`** has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see [`_set_SSE2_enable`](set-sse2-enable.md).
@@ -100,12 +100,12 @@ Arctangent of 0.500000 / 5.000000: 0.099669
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`acos`, `acosf`, `acosl`](acos-acosf-acosl.md)\
[`asin`, `asinf`, `asinl`](asin-asinf-asinl.md)\
[`cos`, `cosf`, `cosl`](cos-cosf-cosl.md)\
[`_matherr`](matherr.md)\
[`sin`, `sinf`, `sinl`](sin-sinf-sinl.md)\
[`tan`, `tanf`, `tanl`](tan-tanf-tanl.md)\
-[`_CIatan`](../../c-runtime-library/ciatan.md)\
-[`_CIatan2`](../../c-runtime-library/ciatan2.md)
+[`_CIatan`](../ciatan.md)\
+[`_CIatan2`](../ciatan2.md)
diff --git a/docs/c-runtime-library/reference/atanh-atanhf-atanhl.md b/docs/c-runtime-library/reference/atanh-atanhf-atanhl.md
index 90c167dbd21..ba2531ad6ff 100644
--- a/docs/c-runtime-library/reference/atanh-atanhf-atanhl.md
+++ b/docs/c-runtime-library/reference/atanh-atanhf-atanhl.md
@@ -31,7 +31,7 @@ long double atanh( long double x ); // C++ only
*x*\
Floating-point value.
-## Return Value
+## Return value
The **atanh** functions return the inverse hyperbolic tangent (arc hyperbolic tangent) of *x*. If *x* is greater than 1, or less than -1, **errno** is set to **EDOM** and the result is a quiet NaN. If *x* is equal to 1 or -1, a positive or negative infinity is returned, respectively, and **errno** is set to **ERANGE**.
@@ -44,7 +44,7 @@ The **atanh** functions return the inverse hyperbolic tangent (arc hyperbolic ta
Because C++ allows overloading, you can call overloads of **atanh** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **atanh** always takes and returns **`double`**.
-If you use the \ `atanh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `atanh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -55,7 +55,7 @@ By default, this function's global state is scoped to the application. To change
|**atanh**, **atanhf**, **atanhl**|\|\ or \|
|**atanh()** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -87,9 +87,9 @@ atanh( 0.655794 ) = 0.785398
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[acosh, acoshf, acoshl](acosh-acoshf-acoshl.md)
-[asinh, asinhf, asinhl](asinh-asinhf-asinhl.md)
-[cosh, coshf, coshl](cosh-coshf-coshl.md)
-[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)
-[tanh, tanhf, tanhl](tanh-tanhf-tanhl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[acosh, acoshf, acoshl](acosh-acoshf-acoshl.md)\
+[asinh, asinhf, asinhl](asinh-asinhf-asinhl.md)\
+[cosh, coshf, coshl](cosh-coshf-coshl.md)\
+[sinh, sinhf, sinhl](sinh-sinhf-sinhl.md)\
+[tanh, tanhf, tanhl](tanh-tanhf-tanhl.md)
diff --git a/docs/c-runtime-library/reference/atexit.md b/docs/c-runtime-library/reference/atexit.md
index d948a7dd2da..744cbe24ea6 100644
--- a/docs/c-runtime-library/reference/atexit.md
+++ b/docs/c-runtime-library/reference/atexit.md
@@ -26,7 +26,7 @@ int atexit(
*`func`*\
Function to be called.
-## Return Value
+## Return value
**`atexit`** returns 0 if successful, or a nonzero value if an error occurs.
@@ -92,7 +92,7 @@ This is executed next.
## See also
-[Process and Environment Control](../../c-runtime-library/process-and-environment-control.md)\
+[Process and environment control](../process-and-environment-control.md)\
[`abort`](abort.md)\
[`exit`, `_Exit`, `_exit`](exit-exit-exit.md)\
[`_onexit`, `_onexit_m`](onexit-onexit-m.md)
diff --git a/docs/c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md b/docs/c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md
index c32df90ba60..fd0c5397efb 100644
--- a/docs/c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md
+++ b/docs/c-runtime-library/reference/atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md
@@ -36,7 +36,7 @@ The string to be parsed to convert into a floating-point value.
*locale*
The locale to use.
-## Return Value
+## Return value
Returns 0 if successful. Possible error codes are **_UNDERFLOW** or **_OVERFLOW**, which are defined in the header file \.
@@ -114,7 +114,7 @@ Return value: 3
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[Locale](../../c-runtime-library/locale.md)
-[atof, _atof_l, _wtof, _wtof_l](atof-atof-l-wtof-wtof-l.md)
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
+[atof, _atof_l, _wtof, _wtof_l](atof-atof-l-wtof-wtof-l.md)
diff --git a/docs/c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md b/docs/c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md
index ce5d672bf45..fe447a34475 100644
--- a/docs/c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md
+++ b/docs/c-runtime-library/reference/atof-atof-l-wtof-wtof-l.md
@@ -41,11 +41,11 @@ String to be converted.
*`locale`*
Locale to use.
-## Return Value
+## Return value
Each function returns the **`double`** value produced by interpreting the input characters as a number. The return value is 0.0 if the input can't be converted to a value of that type.
-In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
+In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
## Remarks
@@ -65,7 +65,7 @@ The versions of these functions with the **`_l`** suffix are identical except th
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|`TCHAR.H` routine|`_UNICODE` & `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|------------------------------------|--------------------|-----------------------|
@@ -132,11 +132,11 @@ Function: _atof_l(" -2,309e-25", fr)) = -2.309000e-25
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[Locale](../../c-runtime-library/locale.md)
-[`_ecvt`](ecvt.md)
-[`_fcvt`](fcvt.md)
-[`_gcvt`](gcvt.md)
-[`setlocale`, `_wsetlocale`](setlocale-wsetlocale.md)
-[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
+[`_ecvt`](ecvt.md)\
+[`_fcvt`](fcvt.md)\
+[`_gcvt`](gcvt.md)\
+[`setlocale`, `_wsetlocale`](setlocale-wsetlocale.md)\
+[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
diff --git a/docs/c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md b/docs/c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md
index 6ec27150810..36bb2aff772 100644
--- a/docs/c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md
+++ b/docs/c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l.md
@@ -41,11 +41,11 @@ String to be converted.
*`locale`*
Locale to use.
-## Return Value
+## Return value
Each function returns the **`int`** value produced by interpreting the input characters as a number. The return value is 0 for **`atoi`** and **`_wtoi`**, if the input can't be converted to a value of that type.
-When the functions overflow with large negative integral values, **`LONG_MIN`** is returned. **`atoi`** and **`_wtoi`** return **`INT_MAX`** and **`INT_MIN`** on these conditions. In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
+When the functions overflow with large negative integral values, **`LONG_MIN`** is returned. **`atoi`** and **`_wtoi`** return **`INT_MAX`** and **`INT_MIN`** on these conditions. In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
## Remarks
@@ -57,11 +57,11 @@ The *`str`* argument to **`atoi`** and **`_wtoi`** has the following form:
A *`whitespace`* consists of space or tab characters, which are ignored; *`sign`* is either plus (+) or minus (-); and *`digits`* are one or more digits.
-The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../../c-runtime-library/locale.md).
+The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../locale.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|`TCHAR.H` routine|`_UNICODE` & `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|------------------------------------|--------------------|-----------------------|
@@ -125,11 +125,11 @@ Overflow condition occurred.
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[Locale](../../c-runtime-library/locale.md)
-[`_ecvt`](ecvt.md)
-[`_fcvt`](fcvt.md)
-[`_gcvt`](gcvt.md)
-[`setlocale`, `_wsetlocale`](setlocale-wsetlocale.md)
-[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
+[`_ecvt`](ecvt.md)\
+[`_fcvt`](fcvt.md)\
+[`_gcvt`](gcvt.md)\
+[`setlocale`, `_wsetlocale`](setlocale-wsetlocale.md)\
+[`_atodbl`, `_atodbl_l`, `_atoldbl`, `_atoldbl_l`, `_atoflt`, `_atoflt_l`](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
diff --git a/docs/c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md b/docs/c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md
index 7d16d85e546..2b5443822d3 100644
--- a/docs/c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md
+++ b/docs/c-runtime-library/reference/atoi64-atoi64-l-wtoi64-wtoi64-l.md
@@ -41,13 +41,13 @@ String to be converted.
*locale*
Locale to use.
-## Return Value
+## Return value
Each function returns the **`__int64`** value produced by interpreting the input characters as a number. The return value is 0 for **_atoi64** if the input can't be converted to a value of that type.
If the functions overflow with large positive integral values, they return **I64_MAX**. The functions return **I64_MIN** if they overflow with large negative integral values.
-In all out-of-range cases, **errno** is set to **ERANGE**. If the parameter passed in is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return 0.
+In all out-of-range cases, **errno** is set to **ERANGE**. If the parameter passed in is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return 0.
## Remarks
@@ -63,11 +63,11 @@ A *whitespace* consists of space or tab characters, which are ignored; *sign* is
**_wtoi64** is identical to **_atoi64** except that it takes a wide character string as a parameter.
-The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../../c-runtime-library/locale.md).
+The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../locale.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -132,11 +132,11 @@ Overflow condition occurred.
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[Locale](../../c-runtime-library/locale.md)
-[_ecvt](ecvt.md)
-[_fcvt](fcvt.md)
-[_gcvt](gcvt.md)
-[setlocale, _wsetlocale](setlocale-wsetlocale.md)
-[_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
+[_ecvt](ecvt.md)\
+[_fcvt](fcvt.md)\
+[_gcvt](gcvt.md)\
+[setlocale, _wsetlocale](setlocale-wsetlocale.md)\
+[_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
diff --git a/docs/c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md b/docs/c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md
index 699b7ade45a..10b6e692a7e 100644
--- a/docs/c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md
+++ b/docs/c-runtime-library/reference/atol-atol-l-wtol-wtol-l.md
@@ -40,11 +40,11 @@ String to be converted.
*`locale`*\
Locale to use.
-## Return Value
+## Return value
Each function returns the **`long`** value produced by interpreting the input characters as a number. The return value is `0L` for **`atol`** if the input can't be converted to a value of that type.
-If these functions overflow with large positive integral values, they return **`LONG_MAX`**. If the functions overflow with large negative integral values, **`LONG_MIN`** is returned. In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
+If these functions overflow with large positive integral values, they return **`LONG_MAX`**. If the functions overflow with large negative integral values, **`LONG_MIN`** is returned. In all out-of-range cases, **`errno`** is set to **`ERANGE`**. If the parameter passed in is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return 0.
## Remarks
@@ -60,11 +60,11 @@ A *`whitespace`* consists of space or tab characters, which are ignored; *`sign`
**`_wtol`** is identical to **`atol`** except that it takes a wide character string.
-The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../../c-runtime-library/locale.md).
+The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current locale. For more information, see [Locale](../locale.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|`TCHAR.H` routine|`_UNICODE & _MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|------------------------------------|--------------------|-----------------------|
@@ -129,9 +129,9 @@ Overflow condition occurred.
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)\
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
-[Locale](../../c-runtime-library/locale.md)\
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
[`_ecvt`](ecvt.md)\
[`_fcvt`](fcvt.md)\
[`_gcvt`](gcvt.md)\
diff --git a/docs/c-runtime-library/reference/atoll-atoll-l-wtoll-wtoll-l.md b/docs/c-runtime-library/reference/atoll-atoll-l-wtoll-wtoll-l.md
index 4a2e14b62a3..9f8cec88d6f 100644
--- a/docs/c-runtime-library/reference/atoll-atoll-l-wtoll-wtoll-l.md
+++ b/docs/c-runtime-library/reference/atoll-atoll-l-wtoll-wtoll-l.md
@@ -41,13 +41,13 @@ String to be converted.
*locale*
Locale to use.
-## Return Value
+## Return value
Each function returns the **`long long`** value that's produced by interpreting the input characters as a number. The return value for **atoll** is 0 if the input can't be converted to a value of that type.
For overflow with large positive integral values, **atoll** returns **LLONG_MAX**, and for overflow with large negative integral values, it returns **LLONG_MIN**.
-In all out-of-range cases, **errno** is set to **ERANGE**. If the parameter that's passed in is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return 0.
+In all out-of-range cases, **errno** is set to **ERANGE**. If the parameter that's passed in is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return 0.
## Remarks
@@ -63,11 +63,11 @@ A *whitespace* consists of space or tab characters, which are ignored; *sign* is
**_wtoll** is identical to **atoll** except that it takes a wide character string as a parameter.
-The versions of these functions that have the **_l** suffix are identical to the versions that don't have it, except that they use the locale parameter that's passed in instead of the current locale. For more information, see [Locale](../../c-runtime-library/locale.md).
+The versions of these functions that have the **_l** suffix are identical to the versions that don't have it, except that they use the locale parameter that's passed in instead of the current locale. For more information, see [Locale](../locale.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -134,11 +134,11 @@ Overflow condition occurred.
## See also
-[Data Conversion](../../c-runtime-library/data-conversion.md)
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[Locale](../../c-runtime-library/locale.md)
-[_ecvt](ecvt.md)
-[_fcvt](fcvt.md)
-[_gcvt](gcvt.md)
-[setlocale, _wsetlocale](setlocale-wsetlocale.md)
-[_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
+[Data conversion](../data-conversion.md)\
+[Math and floating-point support](../floating-point-support.md)\
+[Locale](../locale.md)\
+[_ecvt](ecvt.md)\
+[_fcvt](fcvt.md)\
+[_gcvt](gcvt.md)\
+[setlocale, _wsetlocale](setlocale-wsetlocale.md)\
+[_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l](atodbl-atodbl-l-atoldbl-atoldbl-l-atoflt-atoflt-l.md)
diff --git a/docs/c-runtime-library/reference/beginthread-beginthreadex.md b/docs/c-runtime-library/reference/beginthread-beginthreadex.md
index 436e4fff658..11ea644a3a1 100644
--- a/docs/c-runtime-library/reference/beginthread-beginthreadex.md
+++ b/docs/c-runtime-library/reference/beginthread-beginthreadex.md
@@ -65,19 +65,19 @@ Flags that control the initial state of a new thread. Set *`initflag`* to 0 to r
*`thrdaddr`*
Points to a 32-bit variable that receives the thread identifier. If it's **`NULL`**, it's not used.
-## Return Value
+## Return value
If successful, each of these functions returns a handle to the newly created thread; however, if the newly created thread exits too quickly, **`_beginthread`** might not return a valid handle. (See the discussion in the Remarks section.) On an error, **`_beginthread`** returns -1L, and **`errno`** is set to **`EAGAIN`** if there are too many threads, to **`EINVAL`** if the argument is invalid or the stack size is incorrect, or to **`EACCES`** if there are insufficient resources (such as memory). On an error, **`_beginthreadex`** returns 0, and **`errno`** and **`_doserrno`** are set.
-If *`start_address`* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return -1.
+If *`start_address`* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **`errno`** to **`EINVAL`** and return -1.
-For more information about these and other return codes, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information about these and other return codes, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../errno-doserrno-sys-errlist-and-sys-nerr.md).
-For more information about **`uintptr_t`**, see [Standard Types](../../c-runtime-library/standard-types.md).
+For more information about **`uintptr_t`**, see [Standard types](../standard-types.md).
## Remarks
-The **`_beginthread`** function creates a thread that begins execution of a routine at *`start_address`*. The routine at *`start_address`* must use the **`__cdecl`** (for native code) or **`__clrcall`** (for managed code) calling convention and should have no return value. When the thread returns from that routine, it's terminated automatically. For more information about threads, see [Multithreading Support for Older Code (Visual C++)](../../parallel/multithreading-support-for-older-code-visual-cpp.md).
+The **`_beginthread`** function creates a thread that begins execution of a routine at *`start_address`*. The routine at *`start_address`* must use the **`__cdecl`** (for native code) or **`__clrcall`** (for managed code) calling convention and should have no return value. When the thread returns from that routine, it's terminated automatically. For more information about threads, see [Multithreading support for older code (Visual C++)](../../parallel/multithreading-support-for-older-code-visual-cpp.md).
**`_beginthreadex`** resembles the Win32 [`CreateThread`](/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread) API more closely than **`_beginthread`** does. **`_beginthreadex`** differs from **`_beginthread`** in the following ways:
@@ -104,7 +104,7 @@ The operating system handles the allocation of the stack when either **`_beginth
*`arglist`* is a parameter to be passed to the newly created thread. Typically, it's the address of a data item, such as a character string. *`arglist`* can be **`NULL`** if it isn't needed, but **`_beginthread`** and **`_beginthreadex`** must be given some value to pass to the new thread. All threads are terminated if any thread calls [`abort`](abort.md), **`exit`**, **`_exit`**, or **`ExitProcess`**.
-The locale of the new thread is initialized by using the per-process global current locale info. If per-thread locale is enabled by a call to [`_configthreadlocale`](configthreadlocale.md) (either globally or for new threads only), the thread can change its locale independently from other threads by calling **`setlocale`** or **`_wsetlocale`**. Threads that don't have the per-thread locale flag set can affect the locale info in all other threads that also don't have the per-thread locale flag set, and also all newly created threads. For more information, see [Locale](../../c-runtime-library/locale.md).
+The locale of the new thread is initialized by using the per-process global current locale info. If per-thread locale is enabled by a call to [`_configthreadlocale`](configthreadlocale.md) (either globally or for new threads only), the thread can change its locale independently from other threads by calling **`setlocale`** or **`_wsetlocale`**. Threads that don't have the per-thread locale flag set can affect the locale info in all other threads that also don't have the per-thread locale flag set, and also all newly created threads. For more information, see [Locale](../locale.md).
For **`/clr`** code, **`_beginthread`** and **`_beginthreadex`** each have two overloads. One takes a native calling-convention function pointer, and the other takes a **`__clrcall`** function pointer. The first overload isn't application domain-safe and never will be. If you're writing **`/clr`** code, you must ensure that the new thread enters the correct application domain before it accesses managed resources. You can do so, for example, by using [`call_in_appdomain` Function](../../dotnet/call-in-appdomain-function.md). The second overload is application domain-safe; the newly created thread will always end up in the application domain of the caller of **`_beginthread`** or **`_beginthreadex`**.
@@ -117,11 +117,11 @@ By default, this function's global state is scoped to the application. To change
|**`_beginthread`**|``|
|**`_beginthreadex`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Multithreaded versions of the [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Multithreaded versions of the [C run-time libraries](../crt-library-features.md) only.
To use **`_beginthread`** or **`_beginthreadex`**, the application must link with one of the multithreaded C run-time libraries.
@@ -295,7 +295,7 @@ Counter should be 1000000; it is-> 1000000
## See also
-- [Process and Environment Control](../../c-runtime-library/process-and-environment-control.md)
+- [Process and environment control](../process-and-environment-control.md)
- [`_endthread`, `_endthreadex`](endthread-endthreadex.md)
- [`abort`](abort.md)
- [`exit`, `_Exit`, `_exit`](exit-exit-exit.md)
diff --git a/docs/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md b/docs/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md
index ac31c180d3c..4fdfe5f3244 100644
--- a/docs/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md
+++ b/docs/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md
@@ -10,7 +10,7 @@ f1_keywords: ["c.bessel", "_j0", "_j1", "_jn", "_y0", "_y1", "_yn"]
helpviewer_keywords: ["Bessel functions", "_j0 function", "_j1 function", "_jn function", "_y0 function", "_y1 function", "_yn function"]
ms.assetid: a21a8bf1-df9d-4ba0-a8c2-e7ef71921d96
---
-# Bessel Functions: _j0, _j1, _jn, _y0, _y1, _yn
+# Bessel functions: _j0, _j1, _jn, _y0, _y1, _yn
Computes the Bessel function of the first or second kind, of orders 0, 1, or n. The Bessel functions are commonly used in the mathematics of electromagnetic wave theory.
@@ -47,7 +47,7 @@ Floating-point value.
*n*
Integer order of Bessel function.
-## Return Value
+## Return value
Each of these routines returns a Bessel function of *x*. If *x* is negative in the **_y0**, **_y1**, or **_yn** functions, the routine sets **errno** to **EDOM**, prints a **_DOMAIN** error message to **stderr**, and returns **_HUGE_VAL**. You can modify error handling by using **_matherr**.
@@ -75,7 +75,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**_j0**, **_j1**, **_jn**, **_y0**, **_y1**, **_yn**|\ (C++), \ (C, C++)|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -120,5 +120,5 @@ Bessel functions for x = 2.387000:
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[_matherr](matherr.md)
+[Math and floating-point support](../floating-point-support.md)\
+[_matherr](matherr.md)
diff --git a/docs/c-runtime-library/reference/bsearch-s.md b/docs/c-runtime-library/reference/bsearch-s.md
index 5b082f477a1..8ff4b64c3dd 100644
--- a/docs/c-runtime-library/reference/bsearch-s.md
+++ b/docs/c-runtime-library/reference/bsearch-s.md
@@ -12,7 +12,7 @@ ms.assetid: d5690d5e-6be3-4f1d-aa0b-5ca6dbded276
---
# bsearch_s
-Performs a binary search of a sorted array. This function is a version of [bsearch](bsearch.md) with security enhancements as described in [Security features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Performs a binary search of a sorted array. This function is a version of [bsearch](bsearch.md) with security enhancements as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -51,7 +51,7 @@ A pointer to an object that can be accessed in the comparison function.
**bsearch_s** returns a pointer to an occurrence of *key* in the array pointed to by *base*. If *key* isn't found, the function returns **NULL**. If the array isn't in ascending sort order or contains duplicate records with identical keys, the result is unpredictable.
-If invalid parameters are passed to the function, it invokes the invalid parameter handler as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL** and the function returns **NULL**. For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+If invalid parameters are passed to the function, it invokes the invalid parameter handler as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL** and the function returns **NULL**. For more information, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
### Error conditions
@@ -82,7 +82,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**bsearch_s**|\ and \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -172,7 +172,7 @@ cat found at 002F0F04
## See also
-[Searching and Sorting](../../c-runtime-library/searching-and-sorting.md)\
+[Searching and sorting](../searching-and-sorting.md)\
[_lfind](lfind.md)\
[_lsearch](lsearch.md)\
[qsort](qsort.md)
diff --git a/docs/c-runtime-library/reference/bsearch.md b/docs/c-runtime-library/reference/bsearch.md
index b429ee75b43..a256493bb58 100644
--- a/docs/c-runtime-library/reference/bsearch.md
+++ b/docs/c-runtime-library/reference/bsearch.md
@@ -57,7 +57,7 @@ The **bsearch** function performs a binary search of a sorted array of *number*
|`0`|Key is equal to array element.|
|`> 0`|Key is greater than array element.|
-This function validates its parameters. If *compare*, *key* or *number* is **NULL**, or if *base* is **NULL** and *number* is nonzero, or if *width* is zero, the function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **errno** is set to `EINVAL` and the function returns **NULL**.
+This function validates its parameters. If *compare*, *key* or *number* is **NULL**, or if *base* is **NULL** and *number* is nonzero, or if *width* is zero, the function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **errno** is set to `EINVAL` and the function returns **NULL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -67,7 +67,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**bsearch**|\ and \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -116,7 +116,7 @@ cat found at 002F0F04
## See also
-[Searching and Sorting](../../c-runtime-library/searching-and-sorting.md)\
+[Searching and sorting](../searching-and-sorting.md)\
[_lfind](lfind.md)\
[_lsearch](lsearch.md)\
[qsort](qsort.md)
diff --git a/docs/c-runtime-library/reference/btowc.md b/docs/c-runtime-library/reference/btowc.md
index 7e7b402496d..bf03303ebe2 100644
--- a/docs/c-runtime-library/reference/btowc.md
+++ b/docs/c-runtime-library/reference/btowc.md
@@ -27,7 +27,7 @@ wint_t btowc(
*character*
Integer to test.
-## Return Value
+## Return value
Returns the wide-character representation of the character if the integer represents a valid single-byte character in the initial shift state. Returns WEOF if the integer is EOF or isn't a valid single-byte character in the initial shift state. The output of this function is affected by the current **LC_TYPE** locale.
@@ -41,8 +41,8 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**btowc**|\ or \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[mbtowc, _mbtowc_l](mbtowc-mbtowc-l.md)
+[mbtowc, _mbtowc_l](mbtowc-mbtowc-l.md)
diff --git a/docs/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort.md b/docs/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort.md
index 463ebcdf0a0..a326f73f8bd 100644
--- a/docs/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort.md
+++ b/docs/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort.md
@@ -35,7 +35,7 @@ The integer to reverse byte order.
|**`_byteswap_ulong`**|``|
|**`_byteswap_uint64`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -60,4 +60,4 @@ byteswap of 1020304 = 4030201
## See also
-[Universal C runtime routines by category](../../c-runtime-library/run-time-routines-by-category.md)
+[Universal C runtime routines by category](../run-time-routines-by-category.md)
diff --git a/docs/c-runtime-library/reference/cabs-cabsf-cabsl.md b/docs/c-runtime-library/reference/cabs-cabsf-cabsl.md
index 8e6c845d366..9d20691f2fb 100644
--- a/docs/c-runtime-library/reference/cabs-cabsf-cabsl.md
+++ b/docs/c-runtime-library/reference/cabs-cabsf-cabsl.md
@@ -39,7 +39,7 @@ long double cabsl(
*z*
A complex number.
-## Return Value
+## Return value
The absolute value of *z*.
@@ -53,14 +53,14 @@ Because C++ allows overloading, you can call overloads of **cabs** that take **_
|-------------|--------------|------------------|
|**cabs**, **cabsf**, **cabsl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)
diff --git a/docs/c-runtime-library/reference/cabs.md b/docs/c-runtime-library/reference/cabs.md
index e5eb2aa2296..52a5c44f368 100644
--- a/docs/c-runtime-library/reference/cabs.md
+++ b/docs/c-runtime-library/reference/cabs.md
@@ -27,13 +27,13 @@ double _cabs(
*z*
Complex number.
-## Return Value
+## Return value
**_cabs** returns the absolute value of its argument if successful. On overflow, **_cabs** returns **HUGE_VAL** and sets **errno** to **ERANGE**. You can change error handling with [_matherr](matherr.md).
## Remarks
-The **_cabs** function calculates the absolute value of a complex number, which must be a structure of type [_complex](../../c-runtime-library/standard-types.md). The structure *z* is composed of a real component *x* and an imaginary component *y*. A call to **_cabs** produces a value equivalent to that of the expression `sqrt( z.x * z.x + z.y * z.y )`.
+The **_cabs** function calculates the absolute value of a complex number, which must be a structure of type [_complex](../standard-types.md). The structure *z* is composed of a real component *x* and an imaginary component *y*. A call to **_cabs** produces a value equivalent to that of the expression `sqrt( z.x * z.x + z.y * z.y )`.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -43,7 +43,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**_cabs**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -72,6 +72,6 @@ The absolute value of 3.000000 + 4.000000i is 5.000000
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[abs, labs, llabs, _abs64](abs-labs-llabs-abs64.md)
+[Math and floating-point support](../floating-point-support.md)\
+[abs, labs, llabs, _abs64](abs-labs-llabs-abs64.md)\
[fabs, fabsf, fabsl](fabs-fabsf-fabsl.md)
diff --git a/docs/c-runtime-library/reference/cacos-cacosf-cacosl.md b/docs/c-runtime-library/reference/cacos-cacosf-cacosl.md
index 84c7cdb3a6c..69e6e7cf28b 100644
--- a/docs/c-runtime-library/reference/cacos-cacosf-cacosl.md
+++ b/docs/c-runtime-library/reference/cacos-cacosf-cacosl.md
@@ -32,7 +32,7 @@ _Lcomplex cacos( _Lcomplex z ); // C++ only
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The arc cosine of *z*, in radians. The result is unbounded along the imaginary axis, and bounded in the interval [0, π] along the real axis. A domain error will occur if *z* is outside the interval [-1, +1].
@@ -46,20 +46,20 @@ Because C++ allows overloading, you can call overloads of **cacos** that take an
|-------------|--------------|------------------|
|**cacos**, **cacosf**, **cacosl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/cacosh-cacoshf-cacoshl.md b/docs/c-runtime-library/reference/cacosh-cacoshf-cacoshl.md
index 0503aac86cc..3d3e35c0a56 100644
--- a/docs/c-runtime-library/reference/cacosh-cacoshf-cacoshl.md
+++ b/docs/c-runtime-library/reference/cacosh-cacoshf-cacoshl.md
@@ -39,7 +39,7 @@ _Lcomplex cacoshl(
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The inverse hyperbolic cosine of *z*, in radians. The result is unbounded and non-negative along the real axis, and in the interval [-iπ, +iπ] along the imaginary axis.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **cacosh** that take a
|-------------|--------------|------------------|
|**cacosh**, **cacoshf**, **cacoshl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/callnewh.md b/docs/c-runtime-library/reference/callnewh.md
index 8713b341263..ad4092a7c19 100644
--- a/docs/c-runtime-library/reference/callnewh.md
+++ b/docs/c-runtime-library/reference/callnewh.md
@@ -27,7 +27,7 @@ int _callnewh(
*size*
The amount of memory that the [new operator](../../cpp/new-operator-cpp.md) tried to allocate.
-## Return Value
+## Return value
|Value|Description|
|-----------|-----------------|
@@ -52,5 +52,5 @@ By default, this function's global state is scoped to the application. To change
## See also
-[_set_new_handler](set-new-handler.md)
-[_set_new_mode](set-new-mode.md)
+[_set_new_handler](set-new-handler.md)\
+[_set_new_mode](set-new-mode.md)
diff --git a/docs/c-runtime-library/reference/calloc-dbg.md b/docs/c-runtime-library/reference/calloc-dbg.md
index 4151563d665..8dd826233bb 100644
--- a/docs/c-runtime-library/reference/calloc-dbg.md
+++ b/docs/c-runtime-library/reference/calloc-dbg.md
@@ -45,15 +45,15 @@ Pointer to name of the source file that requested allocation operation or **NULL
*`linenumber`*
Line number in the source file where allocation operation was requested or **NULL**.
-The *`filename`* and *`linenumber`* parameters are only available when **_calloc_dbg** has been called explicitly or the [_CRTDBG_MAP_ALLOC](../../c-runtime-library/crtdbg-map-alloc.md) preprocessor constant has been defined.
+The *`filename`* and *`linenumber`* parameters are only available when **_calloc_dbg** has been called explicitly or the [_CRTDBG_MAP_ALLOC](../crtdbg-map-alloc.md) preprocessor constant has been defined.
-## Return Value
+## Return value
On successful completion, this function returns a pointer to the user portion of the last allocated memory block, calls the new handler function, or returns **NULL**. For a complete description of the return behavior, see the Remarks section. For more information about how the new handler function is used, see the [calloc](calloc.md) function.
## Remarks
-**_calloc_dbg** is a debug version of the [calloc](calloc.md) function. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, each call to **_calloc_dbg** is reduced to a call to **calloc**. Both **calloc** and **_calloc_dbg** allocate *number* memory blocks in the base heap, but **_calloc_dbg** offers several debugging features:
+**_calloc_dbg** is a debug version of the [calloc](calloc.md) function. When [_DEBUG](../debug.md) isn't defined, each call to **_calloc_dbg** is reduced to a call to **calloc**. Both **calloc** and **_calloc_dbg** allocate *number* memory blocks in the base heap, but **_calloc_dbg** offers several debugging features:
- Buffers on either side of the user portion of the block to test for leaks.
@@ -63,9 +63,9 @@ On successful completion, this function returns a pointer to the user portion of
**_calloc_dbg** allocates each memory block with slightly more space than the requested *`size`*. The extra space is used by the debug heap manager to link the debug memory blocks and to provide the application with debug header information and overwrite buffers. When the block is allocated, the user portion of the block is filled with the value 0xCD, and each of the overwrite buffers are filled with 0xFD.
-**_calloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails; **EINVAL** is returned if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+**_calloc_dbg** sets **errno** to **ENOMEM** if a memory allocation fails; **EINVAL** is returned if the amount of memory needed (including the overhead mentioned previously) exceeds **_HEAP_MAXREQ**. For information about this and other error codes, see [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
-For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between calling a standard heap function and the debug version, see [Debug Versions of Heap Allocation Functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
+For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details). For information about the differences between calling a standard heap function and the debug version, see [Debug versions of heap allocation functions](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
## Requirements
@@ -73,7 +73,7 @@ For information about how memory blocks are allocated, initialized, and managed
|-------------|---------------------|
|**_calloc_dbg**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -112,7 +112,7 @@ Allocated memory successfully
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[calloc](calloc.md)
-[_malloc_dbg](malloc-dbg.md)
-[_DEBUG](../../c-runtime-library/debug.md)
+[Debug routines](../debug-routines.md)\
+[calloc](calloc.md)\
+[_malloc_dbg](malloc-dbg.md)\
+[_DEBUG](../debug.md)
diff --git a/docs/c-runtime-library/reference/calloc.md b/docs/c-runtime-library/reference/calloc.md
index c6c59443e4a..36e314d8590 100644
--- a/docs/c-runtime-library/reference/calloc.md
+++ b/docs/c-runtime-library/reference/calloc.md
@@ -30,7 +30,7 @@ Number of elements.
*`size`*\
Length in bytes of each element.
-## Return Value
+## Return value
**`calloc`** returns a pointer to the allocated space. The storage space pointed to by the return value is suitably aligned for storage of any type of object. To get a pointer to a type other than **`void`**, use a type cast on the return value.
@@ -38,7 +38,7 @@ Length in bytes of each element.
The **`calloc`** function allocates storage space for an array of *`number`* elements, each of length *`size`* bytes. Each element is initialized to 0.
-**`calloc`** sets **`errno`** to **`ENOMEM`** if a memory allocation fails or if the amount of memory requested exceeds **`_HEAP_MAXREQ`**. For information on this and other error codes, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+**`calloc`** sets **`errno`** to **`ENOMEM`** if a memory allocation fails or if the amount of memory requested exceeds **`_HEAP_MAXREQ`**. For information on this and other error codes, see [`errno`, `_doserrno`, `_sys_errlist`, and `_sys_nerr`](../errno-doserrno-sys-errlist-and-sys-nerr.md).
In the Microsoft implementation, if *`number`* or *`size`* is zero, **`calloc`** returns a pointer to an allocated block of non-zero size. An attempt to read or write through the returned pointer leads to undefined behavior.
@@ -48,9 +48,9 @@ In the Microsoft implementation, if *`number`* or *`size`* is zero, **`calloc`**
_set_new_mode(1);
```
-early in your program, or link with *`NEWMODE.OBJ`* (see [Link Options](../../c-runtime-library/link-options.md)).
+early in your program, or link with *`NEWMODE.OBJ`* (see [Link options](../link-options.md)).
-When the application is linked with a debug version of the C run-time libraries, **`calloc`** resolves to [`_calloc_dbg`](calloc-dbg.md). For more information about how the heap is managed during the debugging process, see [The CRT Debug Heap](/visualstudio/debugger/crt-debug-heap-details).
+When the application is linked with a debug version of the C run-time libraries, **`calloc`** resolves to [`_calloc_dbg`](calloc-dbg.md). For more information about how the heap is managed during the debugging process, see [The CRT debug heap](/visualstudio/debugger/crt-debug-heap-details).
**`calloc`** is marked `__declspec(noalias)` and `__declspec(restrict)`, meaning that the function is guaranteed not to modify global variables, and that the pointer returned isn't aliased. For more information, see [`noalias`](../../cpp/noalias.md) and [`restrict`](../../cpp/restrict.md).
@@ -62,7 +62,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**`calloc`**|`` and ``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -93,7 +93,7 @@ Allocated 40 long integers
## See also
-[Memory Allocation](../../c-runtime-library/memory-allocation.md)\
+[Memory allocation](../memory-allocation.md)\
[`free`](free.md)\
[`malloc`](malloc.md)\
[`realloc`](realloc.md)\
diff --git a/docs/c-runtime-library/reference/carg-cargf-cargl.md b/docs/c-runtime-library/reference/carg-cargf-cargl.md
index 1a9276224b8..a19cd67e96a 100644
--- a/docs/c-runtime-library/reference/carg-cargf-cargl.md
+++ b/docs/c-runtime-library/reference/carg-cargf-cargl.md
@@ -40,7 +40,7 @@ long double cargl(
*z*\
A complex number.
-## Return Value
+## Return value
The argument (also known as the phase) of *z*. The result is in the interval [-π, +π].
@@ -48,7 +48,7 @@ The argument (also known as the phase) of *z*. The result is in the interval [-
Because C++ allows overloading, you can call overloads of **carg** that take **_Fcomplex** or **_Lcomplex** values, and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **carg** always takes a **_Dcomplex** value and returns a **`double`** value.
-If you use the \ `carg()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `carg()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -57,14 +57,14 @@ If you use the \ `carg()` macro, the type of the argument determines w
|**carg**, **cargf**, **cargl**|\|\|
|**carg** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/casin-casinf-casinl.md b/docs/c-runtime-library/reference/casin-casinf-casinl.md
index 1fdfb8f66ed..573db462667 100644
--- a/docs/c-runtime-library/reference/casin-casinf-casinl.md
+++ b/docs/c-runtime-library/reference/casin-casinf-casinl.md
@@ -39,7 +39,7 @@ _Lcomplex casinl(
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The arcsine of *z*, in radians. The result is unbounded along the imaginary axis, and in the interval [-π/2, +π/2] along the real axis.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **casin** that take an
|-------------|--------------|------------------|
|**casin**, **casinf**, **casinl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/casinh-casinhf-casinhl.md b/docs/c-runtime-library/reference/casinh-casinhf-casinhl.md
index 3a54c18b372..8f551df862a 100644
--- a/docs/c-runtime-library/reference/casinh-casinhf-casinhl.md
+++ b/docs/c-runtime-library/reference/casinh-casinhf-casinhl.md
@@ -39,7 +39,7 @@ _Lcomplex casinhl(
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The inverse hyperbolic sine of *z*, in radians. The result is unbound along the real axis, and in the interval [-iπ/2, +iπ/2] along the imaginary axis.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **casinh** that take a
|-------------|--------------|------------------|
|**casinh**, **casinhf**, **casinhl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/catan-catanf-catanl.md b/docs/c-runtime-library/reference/catan-catanf-catanl.md
index ea8eae0d287..967672c7c46 100644
--- a/docs/c-runtime-library/reference/catan-catanf-catanl.md
+++ b/docs/c-runtime-library/reference/catan-catanf-catanl.md
@@ -32,7 +32,7 @@ _Lcomplex catan( _Lcomplex z ); // C++ only
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The arctangent of *z*, in radians. The result is unbounded along the imaginary axis, and in the interval [-π/2; +π/2] along the real axis.
@@ -46,20 +46,20 @@ Because C++ allows overloading, you can call overloads of **catan** that take an
|-------------|--------------|------------------|
|**catan**, **catanf**, **catanl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/catanh-catanhf-catanhl.md b/docs/c-runtime-library/reference/catanh-catanhf-catanhl.md
index 848f83820f0..5bbbb0879dd 100644
--- a/docs/c-runtime-library/reference/catanh-catanhf-catanhl.md
+++ b/docs/c-runtime-library/reference/catanh-catanhf-catanhl.md
@@ -39,7 +39,7 @@ _Lcomplex catanhl(
*z*
A complex number that represents an angle, in radians.
-## Return Value
+## Return value
The inverse hyperbolic tangent of *z*, in radians. The result is unbounded along the real axis, and in the interval [-iπ/2; +iπ/2] along the imaginary axis. A domain error will occur if *z* is outside the interval [-1, +1]. A pole error will occur if *z* is -1 or +1.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **catanh** that take a
|-------------|--------------|------------------|
|**catanh**, **catanhf**, **catanhl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/cbrt-cbrtf-cbrtl.md b/docs/c-runtime-library/reference/cbrt-cbrtf-cbrtl.md
index ac6adc01aff..5221adc2366 100644
--- a/docs/c-runtime-library/reference/cbrt-cbrtf-cbrtl.md
+++ b/docs/c-runtime-library/reference/cbrt-cbrtf-cbrtl.md
@@ -40,7 +40,7 @@ long double cbrtl(
*x*\
Floating-point value
-## Return Value
+## Return value
The **cbrt** functions return the cube-root of *x*.
@@ -52,7 +52,7 @@ The **cbrt** functions return the cube-root of *x*.
Because C++ allows overloading, you can call overloads of **cbrt** that take **`float`** or **`long double`** types. In a C program, unless you're using the \ macro to call this function, **cbrt** always takes and returns **`double`**.
-If you use the \ `cbrt()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `cbrt()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -63,7 +63,7 @@ By default, this function's global state is scoped to the application. To change
|**cbrt**, **cbrtf**, **cbrtl**|\|\|
|**cbrt** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -91,7 +91,7 @@ The cube root of -64.64 is -4.013289
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[`exp`, `expf`, `expl`](exp-expf.md)
-[`log`, `logf`, `log10`, `log10f`](log-logf-log10-log10f.md)
+[Math and floating-point support](../floating-point-support.md)\
+[`exp`, `expf`, `expl`](exp-expf.md)\
+[`log`, `logf`, `log10`, `log10f`](log-logf-log10-log10f.md)\
[`pow`, `powf`, `powl`](pow-powf-powl.md)
diff --git a/docs/c-runtime-library/reference/cbuild-fcbuild-lcbuild.md b/docs/c-runtime-library/reference/cbuild-fcbuild-lcbuild.md
index bb78a4e87b3..842e177f627 100644
--- a/docs/c-runtime-library/reference/cbuild-fcbuild-lcbuild.md
+++ b/docs/c-runtime-library/reference/cbuild-fcbuild-lcbuild.md
@@ -29,7 +29,7 @@ The real part of the complex number to construct.
*imaginary*
The imaginary part of the complex number to construct.
-## Return Value
+## Return value
A **_Dcomplex**, **_Fcomplex**, or **_Lcomplex** structure that represents the complex number (*real*, *imaginary* \* i) for values of the specified floating-point type.
@@ -43,17 +43,17 @@ The **_Cbuild**, **_FCbuild**, and **_LCbuild** functions simplify creation of c
|-------------|--------------|------------------|
|**_Cbuild**, **_FCbuild**, **_LCbuild**|\|\|
-These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **`double _Complex`**, **`float _Complex`**, and **`long double _Complex`**, respectively. For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **`double _Complex`**, **`float _Complex`**, and **`long double _Complex`**, respectively. For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[_Cmulcc, _FCmulcc, _LCmulcc](cmulcc-fcmulcc-lcmulcc.md)
-[_Cmulcr, _FCmulcr, _LCmulcr](cmulcr-fcmulcr-lcmulcr.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[_Cmulcc, _FCmulcc, _LCmulcc](cmulcc-fcmulcc-lcmulcc.md)\
+[_Cmulcr, _FCmulcr, _LCmulcr](cmulcr-fcmulcr-lcmulcr.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/ccos-ccosf-ccosl.md b/docs/c-runtime-library/reference/ccos-ccosf-ccosl.md
index 02cd728cbaa..a6fe0d7fb1f 100644
--- a/docs/c-runtime-library/reference/ccos-ccosf-ccosl.md
+++ b/docs/c-runtime-library/reference/ccos-ccosf-ccosl.md
@@ -39,7 +39,7 @@ _Lcomplex ccosl(
*z*
A complex number that represents the angle, in radians.
-## Return Value
+## Return value
The cosine of *z*, in radians.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **ccos** that take and
|-------------|--------------|------------------|
|**ccos**, **ccosf**, **ccosl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[ccosh, ccoshf, ccoshl](ccosh-ccoshf-ccoshl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/ccosh-ccoshf-ccoshl.md b/docs/c-runtime-library/reference/ccosh-ccoshf-ccoshl.md
index 970f801b8d5..3ebe4a36f2a 100644
--- a/docs/c-runtime-library/reference/ccosh-ccoshf-ccoshl.md
+++ b/docs/c-runtime-library/reference/ccosh-ccoshf-ccoshl.md
@@ -39,7 +39,7 @@ _Lcomplex ccoshl(
*z*
A complex number that represents the angle, in radians.
-## Return Value
+## Return value
The hyperbolic cosine of *z*, in radians.
@@ -53,20 +53,20 @@ Because C++ allows overloading, you can call overloads of **ccosh** that take an
|-------------|--------------|------------------|
|**ccosh**, **ccoshf**, **ccoshl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)
-[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)
-[catan, catanf, catanl](catan-catanf-catanl.md)
-[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)
-[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)
-[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)
-[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)
-[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)
-[csin, csinf, csinl](csin-csinf-csinl.md)
-[casin, casinf, casinl](casin-casinf-casinl.md)
-[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)
-[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[catanh, catanhf, catanhl](catanh-catanhf-catanhl.md)\
+[ctanh, ctanhf, ctanhl](ctanh-ctanhf-ctanhl.md)\
+[catan, catanf, catanl](catan-catanf-catanl.md)\
+[csinh, csinhf, csinhl](csinh-csinhf-csinhl.md)\
+[casinh, casinhf, casinhl](casinh-casinhf-casinhl.md)\
+[cacosh, cacoshf, cacoshl](cacosh-cacoshf-cacoshl.md)\
+[cacos, cacosf, cacosl](cacos-cacosf-cacosl.md)\
+[ctan, ctanf, ctanl](ctan-ctanf-ctanl.md)\
+[csin, csinf, csinl](csin-csinf-csinl.md)\
+[casin, casinf, casinl](casin-casinf-casinl.md)\
+[ccos, ccosf, ccosl](ccos-ccosf-ccosl.md)\
+[csqrt, csqrtf, csqrtl](csqrt-csqrtf-csqrtl.md)
diff --git a/docs/c-runtime-library/reference/ceil-ceilf-ceill.md b/docs/c-runtime-library/reference/ceil-ceilf-ceill.md
index 8dbbb3abe74..885148465e4 100644
--- a/docs/c-runtime-library/reference/ceil-ceilf-ceill.md
+++ b/docs/c-runtime-library/reference/ceil-ceilf-ceill.md
@@ -40,7 +40,7 @@ long double ceill(
*x*\
Floating-point value.
-## Return Value
+## Return value
The **ceil** functions return a floating-point value that represents the smallest integer that is greater than or equal to *x*. There's no error return.
@@ -54,7 +54,7 @@ The **ceil** functions return a floating-point value that represents the smalles
Because C++ allows overloading, you can call overloads of **ceil** that take **`float`** or **`long double`** types. In a C program, unless you're using the \ macro to call this function, **ceil** always takes and returns a **`double`**.
-If you use the \ `ceil()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `ceil()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this state, see [Global state in the CRT](../global-state.md).
@@ -65,7 +65,7 @@ By default, this function's global state is scoped to the application. To change
| **ceil**, **ceilf**, **ceill**| \ |
| **ceil** macro | \ |
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -73,7 +73,7 @@ See the example for [floor](floor-floorf-floorl.md).
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[floor, floorf, floorl](floor-floorf-floorl.md)
-[fmod, fmodf](fmod-fmodf.md)
-[round, roundf, roundl](round-roundf-roundl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[floor, floorf, floorl](floor-floorf-floorl.md)\
+[fmod, fmodf](fmod-fmodf.md)\
+[round, roundf, roundl](round-roundf-roundl.md)
diff --git a/docs/c-runtime-library/reference/cexit-c-exit.md b/docs/c-runtime-library/reference/cexit-c-exit.md
index f0ec8f5bd20..29f74e92d7d 100644
--- a/docs/c-runtime-library/reference/cexit-c-exit.md
+++ b/docs/c-runtime-library/reference/cexit-c-exit.md
@@ -47,15 +47,15 @@ By default, this function's global state is scoped to the application. To change
|**_cexit**|\|
|**_c_exit**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Process and Environment Control](../../c-runtime-library/process-and-environment-control.md)
-[abort](abort.md)
-[atexit](atexit.md)
-[_exec, _wexec Functions](../../c-runtime-library/exec-wexec-functions.md)
-[exit, _Exit, _exit](exit-exit-exit.md)
-[_onexit, _onexit_m](onexit-onexit-m.md)
-[_spawn, _wspawn Functions](../../c-runtime-library/spawn-wspawn-functions.md)
-[system, _wsystem](system-wsystem.md)
+[Process and environment control](../process-and-environment-control.md)\
+[abort](abort.md)\
+[atexit](atexit.md)\
+[_exec, _wexec Functions](../exec-wexec-functions.md)\
+[exit, _Exit, _exit](exit-exit-exit.md)\
+[_onexit, _onexit_m](onexit-onexit-m.md)\
+[_spawn, _wspawn Functions](../spawn-wspawn-functions.md)\
+[system, _wsystem](system-wsystem.md)
diff --git a/docs/c-runtime-library/reference/cexp-cexpf-cexpl.md b/docs/c-runtime-library/reference/cexp-cexpf-cexpl.md
index 357ad8fabb1..bd4c38dad48 100644
--- a/docs/c-runtime-library/reference/cexp-cexpf-cexpl.md
+++ b/docs/c-runtime-library/reference/cexp-cexpf-cexpl.md
@@ -30,7 +30,7 @@ _Lcomplex cexp( _Lcomplex z ); // C++ only
*z*\
A complex number that represents the exponent.
-## Return Value
+## Return value
The value of **e** raised to the power of *z*.
@@ -44,11 +44,11 @@ Because C++ allows overloading, you can call overloads of **cexp** that take and
|-------------|--------------|------------------|
|**cexp**, **cexpf**, **cexpl**|\|\|
-For compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)\
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
[cpow, cpowf, cpowl](cpow-cpowf-cpowl.md)\
[clog10, clog10f, clog10l](clog10-clog10f-clog10l.md)\
[clog, clogf, clogl](clog-clogf-clogl.md)
diff --git a/docs/c-runtime-library/reference/cgets-s-cgetws-s.md b/docs/c-runtime-library/reference/cgets-s-cgetws-s.md
index c415cbb9aac..910cfff0d57 100644
--- a/docs/c-runtime-library/reference/cgets-s-cgetws-s.md
+++ b/docs/c-runtime-library/reference/cgets-s-cgetws-s.md
@@ -12,7 +12,7 @@ ms.assetid: 38b74897-afe6-4dd9-a43f-36a3c0d72c5c
---
# _cgets_s, _cgetws_s
-Gets a character string from the console. These versions of [_cgets and _cgetws](../../c-runtime-library/cgets-cgetws.md) have security enhancements, as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Gets a character string from the console. These versions of [_cgets and _cgetws](../cgets-cgetws.md) have security enhancements, as described in [Security features in the CRT](../security-features-in-the-crt.md).
> [!IMPORTANT]
> This API cannot be used in applications that execute in the Windows Runtime. For more information, see [CRT functions not supported in Universal Windows Platform apps](../../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
@@ -53,11 +53,11 @@ The size of the buffer in single-byte or wide characters, which is also the maxi
*pSizeRead*
The number of characters actually read.
-## Return Value
+## Return value
The return value is zero if successful; otherwise, an error code if a failure occurs.
-### Error Conditions
+### Error conditions
|*buffer*|*numberOfElements*|*pSizeRead*|Return|Contents of *buffer*|
|--------------|------------------------|-----------------|------------|--------------------------|
@@ -69,15 +69,15 @@ The return value is zero if successful; otherwise, an error code if a failure oc
**_cgets_s** and **_cgetws_s** read a string from the console and copy the string (with a null terminator) into *buffer*. **_cgetws_s** is the wide character version of the function; other than the character size, the behavior of these two functions is identical. The maximum size of the string to be read is passed in as the *numberOfElements* parameter. This size should include an extra character for the terminating null. The actual number of characters read is placed in *pSizeRead*.
-If an error occurs during the operation or in the validating of the parameters, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL**, and **EINVAL** is returned.
+If an error occurs during the operation or in the validating of the parameters, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL**, and **EINVAL** is returned.
-In C++, the use of these functions is simplified by template overloads. The overloads can infer buffer length automatically, which eliminates the need to specify a size argument. They can also automatically replace older, less-secure functions with their newer, more secure counterparts. For more information, see [Secure Template Overloads](../../c-runtime-library/secure-template-overloads.md).
+In C++, the use of these functions is simplified by template overloads. The overloads can infer buffer length automatically, which eliminates the need to specify a size argument. They can also automatically replace older, less-secure functions with their newer, more secure counterparts. For more information, see [Secure template overloads](../secure-template-overloads.md).
The debug library versions of these functions first fill the buffer with 0xFE. To disable this behavior, use [_CrtSetDebugFillThreshold](crtsetdebugfillthreshold.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -90,9 +90,9 @@ By default, this function's global state is scoped to the application. To change
|**_cgets_s**|\|
|**_cgetws_s**|\ or \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Console and Port I/O](../../c-runtime-library/console-and-port-i-o.md)
-[_getch, _getwch](getch-getwch.md)
+[Console and port I/O](../console-and-port-i-o.md)\
+[_getch, _getwch](getch-getwch.md)
diff --git a/docs/c-runtime-library/reference/chdir-wchdir.md b/docs/c-runtime-library/reference/chdir-wchdir.md
index a2b48e38dad..76ee1bb0d00 100644
--- a/docs/c-runtime-library/reference/chdir-wchdir.md
+++ b/docs/c-runtime-library/reference/chdir-wchdir.md
@@ -29,9 +29,9 @@ int _wchdir(
*`dirname`*\
Path of new working directory.
-## Return Value
+## Return value
-These functions return a value of 0 if successful. A return value of -1 indicates failure. If the specified path couldn't be found, **`errno`** is set to **`ENOENT`**. If *`dirname`* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **`errno`** is set to **`EINVAL`** and the function returns -1.
+These functions return a value of 0 if successful. A return value of -1 indicates failure. If the specified path couldn't be found, **`errno`** is set to **`ENOENT`**. If *`dirname`* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **`errno`** is set to **`EINVAL`** and the function returns -1.
## Remarks
@@ -47,7 +47,7 @@ When you use the optional backslash character (**`\`**) in paths, you must place
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mapping:
+### Generic-text routine mapping
|`Tchar.h` routine|`_UNICODE and _MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -60,7 +60,7 @@ By default, this function's global state is scoped to the application. To change
|**`_chdir`**|``|``|
|**`_wchdir`**|`` or ``|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -123,7 +123,7 @@ Directory of c:\windows
## See also
-[Directory Control](../../c-runtime-library/directory-control.md)\
+[Directory control](../directory-control.md)\
[`_mkdir`, `_wmkdir`](mkdir-wmkdir.md)\
[`_rmdir`, `_wrmdir`](rmdir-wrmdir.md)\
[`system`, `_wsystem`](system-wsystem.md)
diff --git a/docs/c-runtime-library/reference/chdrive.md b/docs/c-runtime-library/reference/chdrive.md
index 682d0fdd764..595d4dd2658 100644
--- a/docs/c-runtime-library/reference/chdrive.md
+++ b/docs/c-runtime-library/reference/chdrive.md
@@ -30,13 +30,13 @@ int _chdrive(
*drive*
An integer from 1 through 26 that specifies the current working drive (1=A, 2=B, and so forth).
-## Return Value
+## Return value
Zero (0) if the current working drive was changed successfully; otherwise, -1.
## Remarks
-If *drive* isn't in the range from 1 through 26, the invalid-parameter handler is invoked as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the **_chdrive** function returns -1, **errno** is set to **EACCES**, and **_doserrno** is set to **ERROR_INVALID_DRIVE**.
+If *drive* isn't in the range from 1 through 26, the invalid-parameter handler is invoked as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the **_chdrive** function returns -1, **errno** is set to **EACCES**, and **_doserrno** is set to **ERROR_INVALID_DRIVE**.
The **_chdrive** function isn't thread-safe because it depends on the **SetCurrentDirectory** function, which is itself not thread-safe. To use **_chdrive** safely in a multi-threaded application, you must provide your own thread synchronization. For more information, see [SetCurrentDirectory](/windows/win32/api/winbase/nf-winbase-setcurrentdirectory).
@@ -50,7 +50,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**_chdrive**|\|
-For more information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more information, see [Compatibility](../compatibility.md).
## Example
@@ -58,11 +58,11 @@ See the example for [_getdrive](getdrive.md).
## See also
-[Directory Control](../../c-runtime-library/directory-control.md)
-[_chdir, _wchdir](chdir-wchdir.md)
-[_fullpath, _wfullpath](fullpath-wfullpath.md)
-[_getcwd, _wgetcwd](getcwd-wgetcwd.md)
-[_getdrive](getdrive.md)
-[_mkdir, _wmkdir](mkdir-wmkdir.md)
-[_rmdir, _wrmdir](rmdir-wrmdir.md)
-[system, _wsystem](system-wsystem.md)
+[Directory control](../directory-control.md)\
+[_chdir, _wchdir](chdir-wchdir.md)\
+[_fullpath, _wfullpath](fullpath-wfullpath.md)\
+[_getcwd, _wgetcwd](getcwd-wgetcwd.md)\
+[_getdrive](getdrive.md)\
+[_mkdir, _wmkdir](mkdir-wmkdir.md)\
+[_rmdir, _wrmdir](rmdir-wrmdir.md)\
+[system, _wsystem](system-wsystem.md)
diff --git a/docs/c-runtime-library/reference/chgsign-chgsignf-chgsignl.md b/docs/c-runtime-library/reference/chgsign-chgsignf-chgsignl.md
index 96007ca53f7..435ccefa40e 100644
--- a/docs/c-runtime-library/reference/chgsign-chgsignf-chgsignl.md
+++ b/docs/c-runtime-library/reference/chgsign-chgsignf-chgsignl.md
@@ -33,7 +33,7 @@ long double _chgsignl(
*x*
The floating-point value to be changed.
-## Return Value
+## Return value
The **_chgsign** functions return a value that's equal to the floating-point argument *x*, but with its sign reversed. There's no error return.
@@ -44,10 +44,10 @@ The **_chgsign** functions return a value that's equal to the floating-point arg
|**_chgsign**|\|
|**_chgsignf**, **_chgsignl**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[fabs, fabsf, fabsl](fabs-fabsf-fabsl.md)
-[copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl](copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[fabs, fabsf, fabsl](fabs-fabsf-fabsl.md)\
+[copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl](copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)
diff --git a/docs/c-runtime-library/reference/chmod-wchmod.md b/docs/c-runtime-library/reference/chmod-wchmod.md
index 8972c69b0b4..3c537fd743f 100644
--- a/docs/c-runtime-library/reference/chmod-wchmod.md
+++ b/docs/c-runtime-library/reference/chmod-wchmod.md
@@ -29,7 +29,7 @@ Name of the existing file.
*pmode*
Permission setting for the file.
-## Return Value
+## Return value
These functions return 0 if the permission setting is successfully changed. A return value of -1 indicates failure. If the specified file couldn't be found, **errno** is set to **ENOENT**; if a parameter is invalid, **errno** is set to **EINVAL**.
@@ -47,11 +47,11 @@ When both constants are given, they're joined with the bitwise or operator (**`|
**_wchmod** is a wide-character version of **_chmod**; the *filename* argument to **_wchmod** is a wide-character string. **_wchmod** and **_chmod** behave identically otherwise.
-This function validates its parameters. If *pmode* isn't a combination of one of the manifest constants or incorporates an alternate set of constants, the function simply ignores them. If *filename* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL** and the function returns -1.
+This function validates its parameters. If *pmode* isn't a combination of one of the manifest constants or incorporates an alternate set of constants, the function simply ignores them. If *filename* is **`NULL`**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL** and the function returns -1.
By default, this function's global state is scoped to the application. To change it, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -64,7 +64,7 @@ By default, this function's global state is scoped to the application. To change
|**_chmod**|\|\, \, \|
|**_wchmod**|\ or \|\, \, \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -144,9 +144,9 @@ Mode set to read/write
## See also
-[File Handling](../../c-runtime-library/file-handling.md)
-[_access, _waccess](access-waccess.md)
-[_creat, _wcreat](creat-wcreat.md)
-[_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)
-[_open, _wopen](open-wopen.md)
-[_stat, _wstat Functions](stat-functions.md)
+[File handling](../file-handling.md)\
+[_access, _waccess](access-waccess.md)\
+[_creat, _wcreat](creat-wcreat.md)\
+[_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32](fstat-fstat32-fstat64-fstati64-fstat32i64-fstat64i32.md)\
+[_open, _wopen](open-wopen.md)\
+[_stat, _wstat Functions](stat-functions.md)
diff --git a/docs/c-runtime-library/reference/chsize-s.md b/docs/c-runtime-library/reference/chsize-s.md
index b3f53734429..05b751d51b9 100644
--- a/docs/c-runtime-library/reference/chsize-s.md
+++ b/docs/c-runtime-library/reference/chsize-s.md
@@ -12,7 +12,7 @@ ms.assetid: d88d2e94-6e3b-42a5-8631-16ac4d82fa38
---
# _chsize_s
-Changes the size of a file. This function is a version of [_chsize](chsize.md) with security enhancements as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Changes the size of a file. This function is a version of [_chsize](chsize.md) with security enhancements as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -31,11 +31,11 @@ File descriptor referring to an open file.
*`size`*
New length of the file in bytes.
-## Return Value
+## Return value
**_chsize_s** returns the value 0 if the file size is successfully changed. A nonzero return value indicates an error: the return value is **EACCES** if the specified file is locked against access, **EBADF** if the specified file is read-only or the descriptor is invalid, **ENOSPC** if no space is left on the device, or **EINVAL** if size is less than zero. **errno** is set to the same value.
-For more information about these and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information about these and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
## Remarks
@@ -43,7 +43,7 @@ The **_chsize_s** function extends or truncates the file associated with *`fd`*
**_chsize_s** takes a 64-bit integer as the file size, and therefore can handle file sizes greater than 4 GB. **_chsize** is limited to 32-bit file sizes.
-This function validates its parameters. If *`fd`* isn't a valid file descriptor or size is less than zero, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md).
+This function validates its parameters. If *`fd`* isn't a valid file descriptor or size is less than zero, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -53,12 +53,12 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|---------------------|
|**_chsize_s**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[File Handling](../../c-runtime-library/file-handling.md)
-[_chsize](chsize.md)
-[_close](close.md)
-[_creat, _wcreat](creat-wcreat.md)
-[_open, _wopen](open-wopen.md)
+[File handling](../file-handling.md)\
+[_chsize](chsize.md)\
+[_close](close.md)\
+[_creat, _wcreat](creat-wcreat.md)\
+[_open, _wopen](open-wopen.md)
diff --git a/docs/c-runtime-library/reference/chsize.md b/docs/c-runtime-library/reference/chsize.md
index ff530bdab6f..0393ed77985 100644
--- a/docs/c-runtime-library/reference/chsize.md
+++ b/docs/c-runtime-library/reference/chsize.md
@@ -31,7 +31,7 @@ File descriptor referring to an open file.
*`size`*
New length of the file in bytes.
-## Return Value
+## Return value
**_chsize** returns the value 0 if the file size is successfully changed. A return value of -1 indicates an error: **errno** is set to **EACCES** if the specified file is read-only or the specified file is locked against access, to **EBADF** if the descriptor is invalid, **ENOSPC** if no space is left on the device, or **EINVAL** if *`size`* is less than zero.
@@ -41,7 +41,7 @@ For more information about return codes, see [`_doserrno`, `errno`, `_sys_errlis
The **_chsize** function extends or truncates the file associated with *`fd`* to the length specified by *`size`*. The file must be open in a mode that permits writing. Null characters ('\0') are appended if the file is extended. If the file is truncated, all data from the end of the shortened file to the original length of the file is lost.
-This function validates its parameters. If *`size`* is less than zero or *`fd`* is a bad file descriptor, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md).
+This function validates its parameters. If *`size`* is less than zero or *`fd`* is a bad file descriptor, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md).
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -51,7 +51,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|---------------------|
|**_chsize**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -95,7 +95,7 @@ File length after: 329678
## See also
-[File Handling](../../c-runtime-library/file-handling.md)
-[_close](close.md)
-[_sopen, _wsopen](sopen-wsopen.md)
-[_open, _wopen](open-wopen.md)
+[File handling](../file-handling.md)\
+[_close](close.md)\
+[_sopen, _wsopen](sopen-wsopen.md)\
+[_open, _wopen](open-wopen.md)
diff --git a/docs/c-runtime-library/reference/cimag-cimagf-cimagl.md b/docs/c-runtime-library/reference/cimag-cimagf-cimagl.md
index 8774981901d..49e30f91c1e 100644
--- a/docs/c-runtime-library/reference/cimag-cimagf-cimagl.md
+++ b/docs/c-runtime-library/reference/cimag-cimagf-cimagl.md
@@ -31,7 +31,7 @@ long double cimag( _Lcomplex z ); // C++ only
*z*\
A complex number.
-## Return Value
+## Return value
The imaginary part of *z*.
@@ -39,7 +39,7 @@ The imaginary part of *z*.
Because C++ allows overloading, you can call overloads of **cimag** that take **_Fcomplex** or **_Lcomplex** values, and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **cimag** always takes a **_Dcomplex** value and returns a **`double`** value.
-If you use the \ `cimag()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `cimag()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -48,14 +48,14 @@ If you use the \ `cimag()` macro, the type of the argument determines
|**cimag**, **cimagf**, **cimagl**|\|\|
|**cimag** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/clear87-clearfp.md b/docs/c-runtime-library/reference/clear87-clearfp.md
index be875d595f8..0738d2442fd 100644
--- a/docs/c-runtime-library/reference/clear87-clearfp.md
+++ b/docs/c-runtime-library/reference/clear87-clearfp.md
@@ -21,7 +21,7 @@ unsigned int _clear87( void );
unsigned int _clearfp( void );
```
-## Return Value
+## Return value
The bits in the value returned indicate the floating-point status before the call to **_clear87** or **_clearfp**. For a complete definition of the bits returned by **_clear87**, see Float.h. Many of the math library functions modify the 8087/80287 status word, with unpredictable results. Return values from **_clear87** and **_status87** become more reliable as fewer floating-point operations are performed between known states of the floating-point status word.
@@ -40,7 +40,7 @@ These functions are deprecated when compiling with [/clr (Common Language Runtim
|**_clear87**|\|
|**_clearfp**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -83,6 +83,6 @@ Status: 80000 - denormal
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[_control87, _controlfp, \__control87_2](control87-controlfp-control87-2.md)
-[_status87, _statusfp, _statusfp2](status87-statusfp-statusfp2.md)
+[Math and floating-point support](../floating-point-support.md)\
+[_control87, _controlfp, \__control87_2](control87-controlfp-control87-2.md)\
+[_status87, _statusfp, _statusfp2](status87-statusfp-statusfp2.md)
diff --git a/docs/c-runtime-library/reference/clearerr-s.md b/docs/c-runtime-library/reference/clearerr-s.md
index 4fb7dcd0942..01cb1ddc0de 100644
--- a/docs/c-runtime-library/reference/clearerr-s.md
+++ b/docs/c-runtime-library/reference/clearerr-s.md
@@ -12,7 +12,7 @@ ms.assetid: b74d014d-b7a8-494a-a330-e5ffd5614772
---
# clearerr_s
-Resets the error indicator for a stream. This function is a version of [clearerr](clearerr.md) with security enhancements as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Resets the error indicator for a stream. This function is a version of [clearerr](clearerr.md) with security enhancements as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -27,7 +27,7 @@ errno_t clearerr_s(
*stream*
Pointer to **FILE** structure
-## Return Value
+## Return value
Zero if successful; **EINVAL** if *stream* is **NULL**.
@@ -35,7 +35,7 @@ Zero if successful; **EINVAL** if *stream* is **NULL**.
The **clearerr_s** function resets the error indicator and end-of-file indicator for *stream*. Error indicators aren't automatically cleared; once the error indicator for a specified stream is set, operations on that stream continue to return an error value until **clearerr_s**, **clearerr**, [fseek](fseek-fseeki64.md), **fsetpos**, or [rewind](rewind.md) is called.
-If *stream* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function sets **errno** to **EINVAL** and returns **EINVAL**.
+If *stream* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function sets **errno** to **EINVAL** and returns **EINVAL**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -45,7 +45,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**clearerr_s**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -104,10 +104,10 @@ Will input cause an error? n
## See also
-[Error Handling](../../c-runtime-library/error-handling-crt.md)
-[Stream I/O](../../c-runtime-library/stream-i-o.md)
-[clearerr](clearerr.md)
-[_eof](eof.md)
-[feof](feof.md)
-[ferror](ferror.md)
-[perror, _wperror](perror-wperror.md)
+[Error handling](../error-handling-crt.md)\
+[Stream I/O](../stream-i-o.md)\
+[clearerr](clearerr.md)\
+[_eof](eof.md)\
+[feof](feof.md)\
+[ferror](ferror.md)\
+[perror, _wperror](perror-wperror.md)
diff --git a/docs/c-runtime-library/reference/clearerr.md b/docs/c-runtime-library/reference/clearerr.md
index f97d064636d..51f5786ca9f 100644
--- a/docs/c-runtime-library/reference/clearerr.md
+++ b/docs/c-runtime-library/reference/clearerr.md
@@ -31,7 +31,7 @@ Pointer to **FILE** structure.
The **clearerr** function resets the error indicator and end-of-file indicator for *stream*. Error indicators aren't automatically cleared; once the error indicator for a specified stream is set, operations on that stream continue to return an error value until **clearerr**, [fseek](fseek-fseeki64.md), **fsetpos**, or [rewind](rewind.md) is called.
-If *stream* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function sets **errno** to **EINVAL** and returns. For more information on **errno** and error codes, see [errno Constants](../../c-runtime-library/errno-constants.md).
+If *stream* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function sets **errno** to **EINVAL** and returns. For more information on **errno** and error codes, see [`errno` constants](../errno-constants.md).
A more secure version of this function is available; see [clearerr_s](clearerr-s.md).
@@ -43,7 +43,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|
|**clearerr**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -95,9 +95,9 @@ No read error
## See also
-[Error Handling](../../c-runtime-library/error-handling-crt.md)
-[Stream I/O](../../c-runtime-library/stream-i-o.md)
-[_eof](eof.md)
-[feof](feof.md)
-[ferror](ferror.md)
-[perror, _wperror](perror-wperror.md)
+[Error handling](../error-handling-crt.md)\
+[Stream I/O](../stream-i-o.md)\
+[_eof](eof.md)\
+[feof](feof.md)\
+[ferror](ferror.md)\
+[perror, _wperror](perror-wperror.md)
diff --git a/docs/c-runtime-library/reference/clock.md b/docs/c-runtime-library/reference/clock.md
index a50169d8b94..94f4a125f50 100644
--- a/docs/c-runtime-library/reference/clock.md
+++ b/docs/c-runtime-library/reference/clock.md
@@ -19,7 +19,7 @@ Calculates the wall-clock time used by the calling process.
clock_t clock( void );
```
-## Return Value
+## Return value
The elapsed time since the CRT initialization at the start of the process, measured in **`CLOCKS_PER_SEC`** units per second. If the elapsed time is unavailable or has exceeded the maximum positive time that can be recorded as a **`clock_t`** type, the function returns the value `(clock_t)(-1)`.
@@ -35,7 +35,7 @@ Given enough time, the value returned by **`clock`** can exceed the maximum posi
|-------------|---------------------|
|**`clock`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -90,6 +90,6 @@ Time to do 600000000 empty loops is 1.354 seconds
## See also
-[Time Management](../../c-runtime-library/time-management.md)\
+[Time management](../time-management.md)\
[`difftime`, `_difftime32`, `_difftime64`](difftime-difftime32-difftime64.md)\
[`time`, `_time32`, `_time64`](time-time32-time64.md)
diff --git a/docs/c-runtime-library/reference/clog-clogf-clogl.md b/docs/c-runtime-library/reference/clog-clogf-clogl.md
index 33d2a9c0f5f..7638abbfe1c 100644
--- a/docs/c-runtime-library/reference/clog-clogf-clogl.md
+++ b/docs/c-runtime-library/reference/clog-clogf-clogl.md
@@ -39,7 +39,7 @@ _Lcomplex clogl(
*z*\
The base of the logarithm.
-## Return Value
+## Return value
The natural logarithm of *z*. The result is unbounded along the real axis and in the interval [-iπ, +iπ] along the imaginary axis.
@@ -63,11 +63,11 @@ Because C++ allows overloading, you can call overloads of **clog** that take and
|-------------|--------------|------------------|
|**clog**, **clogf**, **clogl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)
-[cpow, cpowf, cpowl](cpow-cpowf-cpowl.md)
-[clog10, clog10f, clog10l](clog10-clog10f-clog10l.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)\
+[cpow, cpowf, cpowl](cpow-cpowf-cpowl.md)\
+[clog10, clog10f, clog10l](clog10-clog10f-clog10l.md)
diff --git a/docs/c-runtime-library/reference/clog10-clog10f-clog10l.md b/docs/c-runtime-library/reference/clog10-clog10f-clog10l.md
index ca65bce2c49..818fae504ca 100644
--- a/docs/c-runtime-library/reference/clog10-clog10f-clog10l.md
+++ b/docs/c-runtime-library/reference/clog10-clog10f-clog10l.md
@@ -32,7 +32,7 @@ _Lcomplex clog10( _Lcomplex z ); // C++ only
*z*
The base of the logarithm.
-## Return Value
+## Return value
The possible return values are:
@@ -54,11 +54,11 @@ Because C++ allows overloading, you can call overloads of **clog10** that take a
|-------------|--------------|------------------|
|**clog10**, **clog10f**, **clogl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)
-[cpow, cpowf, cpowl](cpow-cpowf-cpowl.md)
-[clog, clogf, clogl](clog-clogf-clogl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)\
+[cpow, cpowf, cpowl](cpow-cpowf-cpowl.md)\
+[clog, clogf, clogl](clog-clogf-clogl.md)
diff --git a/docs/c-runtime-library/reference/close.md b/docs/c-runtime-library/reference/close.md
index 1d52bdfb3ad..71d614dfb87 100644
--- a/docs/c-runtime-library/reference/close.md
+++ b/docs/c-runtime-library/reference/close.md
@@ -27,7 +27,7 @@ int _close(
*`fd`*
File descriptor referring to the open file.
-## Return Value
+## Return value
**_close** returns 0 if the file was successfully closed. A return value of -1 indicates an error.
@@ -37,7 +37,7 @@ The **_close** function closes the file associated with *`fd`*.
The file descriptor and the underlying OS file handle are closed. Thus, it isn't necessary to call **CloseHandle** if the file was originally opened using the Win32 function **CreateFile** and converted to a file descriptor using **_open_osfhandle**.
-This function validates its parameters. If *`fd`* is a bad file descriptor, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the functions returns -1 and **errno** is set to **EBADF**.
+This function validates its parameters. If *`fd`* is a bad file descriptor, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the functions returns -1 and **errno** is set to **EBADF**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -47,7 +47,7 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|---------------------|
|**_close**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -55,9 +55,9 @@ See the example for [_open](open-wopen.md).
## See also
-[Low-Level I/O](../../c-runtime-library/low-level-i-o.md)
-[_chsize](chsize.md)
-[_creat, _wcreat](creat-wcreat.md)
-[_dup, _dup2](dup-dup2.md)
-[_open, _wopen](open-wopen.md)
-[_unlink, _wunlink](unlink-wunlink.md)
+[Low-level I/O](../low-level-i-o.md)\
+[_chsize](chsize.md)\
+[_creat, _wcreat](creat-wcreat.md)\
+[_dup, _dup2](dup-dup2.md)\
+[_open, _wopen](open-wopen.md)\
+[_unlink, _wunlink](unlink-wunlink.md)
diff --git a/docs/c-runtime-library/reference/cmulcc-fcmulcc-lcmulcc.md b/docs/c-runtime-library/reference/cmulcc-fcmulcc-lcmulcc.md
index 1235fa925e2..f326578ce99 100644
--- a/docs/c-runtime-library/reference/cmulcc-fcmulcc-lcmulcc.md
+++ b/docs/c-runtime-library/reference/cmulcc-fcmulcc-lcmulcc.md
@@ -29,7 +29,7 @@ One of the complex operands to multiply.
*y*
The other complex operand to multiply.
-## Return Value
+## Return value
A **_Dcomplex**, **_Fcomplex**, or **_Lcomplex** structure that represents the complex product of the complex numbers *x* and *y*.
@@ -43,17 +43,17 @@ Because the built-in arithmetic operators don't work on the Microsoft implementa
|-------------|--------------|------------------|
|**_Cmulcc**, **_FCmulcc**, **_LCmulcc**|\|\|
-These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **double _Complex**, **float _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **double _Complex**, **float _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)
-[_Cmulcr, _FCmulcr, _LCmulcr](cmulcr-fcmulcr-lcmulcr.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)\
+[_Cmulcr, _FCmulcr, _LCmulcr](cmulcr-fcmulcr-lcmulcr.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/cmulcr-fcmulcr-lcmulcr.md b/docs/c-runtime-library/reference/cmulcr-fcmulcr-lcmulcr.md
index f154521b73f..265e075359f 100644
--- a/docs/c-runtime-library/reference/cmulcr-fcmulcr-lcmulcr.md
+++ b/docs/c-runtime-library/reference/cmulcr-fcmulcr-lcmulcr.md
@@ -29,7 +29,7 @@ One of the complex operands to multiply.
*y*
The floating-point operand to multiply.
-## Return Value
+## Return value
A **_Dcomplex**, **_Fcomplex**, or **_Lcomplex** structure that represents the complex product of the complex number *x* and floating-point number *y*.
@@ -43,17 +43,17 @@ Because the built-in arithmetic operators don't work on the Microsoft implementa
|-------------|--------------|------------------|
|**_Cmulcr**, **_FCmulcr**, **_LCmulcr**|\|\|
-These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **double _Complex**, **float _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+These functions are Microsoft-specific. The types **_Dcomplex**, **_Fcomplex**, and **_Lcomplex** are Microsoft-specific equivalents to the unimplemented C99 native types **double _Complex**, **float _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)
-[_Cmulcc, _FCmulcc, _LCmulcc](cmulcc-fcmulcc-lcmulcc.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)\
+[_Cmulcc, _FCmulcc, _LCmulcc](cmulcc-fcmulcc-lcmulcc.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/commit.md b/docs/c-runtime-library/reference/commit.md
index 9dd0cee87ed..1af81f3b6db 100644
--- a/docs/c-runtime-library/reference/commit.md
+++ b/docs/c-runtime-library/reference/commit.md
@@ -27,7 +27,7 @@ int _commit(
*`fd`*
File descriptor referring to the open file.
-## Return Value
+## Return value
**_commit** returns 0 if the file was successfully flushed to disk. A return value of -1 indicates an error.
@@ -35,7 +35,7 @@ File descriptor referring to the open file.
The **_commit** function forces the operating system to write the file associated with *`fd`* to disk. This call ensures that the specified file is flushed immediately, not at the operating system's discretion.
-If *`fd`* is an invalid file descriptor, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the function returns -1 and **errno** is set to **EBADF**.
+If *`fd`* is an invalid file descriptor, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the function returns -1 and **errno** is set to **EBADF**.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -45,12 +45,12 @@ By default, this function's global state is scoped to the application. To change
|-------------|---------------------|----------------------|
|**_commit**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Low-Level I/O](../../c-runtime-library/low-level-i-o.md)
-[_creat, _wcreat](creat-wcreat.md)
-[_open, _wopen](open-wopen.md)
-[_read](read.md)
-[_write](write.md)
+[Low-level I/O](../low-level-i-o.md)\
+[_creat, _wcreat](creat-wcreat.md)\
+[_open, _wopen](open-wopen.md)\
+[_read](read.md)\
+[_write](write.md)
diff --git a/docs/c-runtime-library/reference/configthreadlocale.md b/docs/c-runtime-library/reference/configthreadlocale.md
index 394bc1031df..83d92dfc61c 100644
--- a/docs/c-runtime-library/reference/configthreadlocale.md
+++ b/docs/c-runtime-library/reference/configthreadlocale.md
@@ -25,7 +25,7 @@ int _configthreadlocale( int per_thread_locale_type );
*`per_thread_locale_type`*\
The option to set. One of the options listed in the following table.
-## Return Value
+## Return value
The previous per-thread locale status (**`_DISABLE_PER_THREAD_LOCALE`** or **`_ENABLE_PER_THREAD_LOCALE`**), or -1 on failure.
@@ -43,7 +43,7 @@ These functions affect the behavior of **`setlocale`**, **`_tsetlocale`**, **`_w
If you use **`_configthreadlocale`** to enable a per-thread locale, set the preferred locale in that thread immediately afterward by a call to **`setlocale`** or **`_wsetlocale`**.
-If *`per_thread_locale_type`* isn't one of the values listed in the table, this function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function sets **`errno`** to **`EINVAL`** and returns -1.
+If *`per_thread_locale_type`* isn't one of the values listed in the table, this function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function sets **`errno`** to **`EINVAL`** and returns -1.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -166,5 +166,5 @@ The time in German locale is: 'Mittwoch, 12. Mai 2004'
[`setlocale`, `_wsetlocale`](setlocale-wsetlocale.md)\
[`_beginthread`, `_beginthreadex`](beginthread-beginthreadex.md)\
-[Locale](../../c-runtime-library/locale.md)\
+[Locale](../locale.md)\
[Multithreading and locales](../../parallel/multithreading-and-locales.md)
diff --git a/docs/c-runtime-library/reference/conj-conjf-conjl.md b/docs/c-runtime-library/reference/conj-conjf-conjl.md
index 55ad3569ffb..1dec6d9f7e9 100644
--- a/docs/c-runtime-library/reference/conj-conjf-conjl.md
+++ b/docs/c-runtime-library/reference/conj-conjf-conjl.md
@@ -40,7 +40,7 @@ _Lcomplex conjl(
*z*\
A complex number.
-## Return Value
+## Return value
The complex conjugate of *z*. The result has the same real and imaginary part as *z*, but with the opposite sign.
@@ -48,7 +48,7 @@ The complex conjugate of *z*. The result has the same real and imaginary part
Because C++ allows overloading, you can call overloads of **conj** that take and return **_Fcomplex** and **_Lcomplex** values. In a C program, unless you're using the \ macro to call this function, **conj** always takes and returns a **_Dcomplex** value.
-If you use the \ `conj()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `conj()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -57,14 +57,14 @@ If you use the \ `conj()` macro, the type of the argument determines w
|**conj**, **conjf**, **conjl**|\|\|
|**conj** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/control87-controlfp-control87-2.md b/docs/c-runtime-library/reference/control87-controlfp-control87-2.md
index 039c90bf040..bcf99a697c8 100644
--- a/docs/c-runtime-library/reference/control87-controlfp-control87-2.md
+++ b/docs/c-runtime-library/reference/control87-controlfp-control87-2.md
@@ -87,7 +87,7 @@ The function **`__control87_2`** enables both the x87 and SSE2 floating-point un
If you use **`__control87_2`** to set different values for the floating-point control words, then **`_control87`** or **`_controlfp`** might be unable to return a single control word to represent the state of both floating-point units. In such a case, these functions set the **`EM_AMBIGUOUS`** flag in the returned integer value to indicate an inconsistency between the two control words. The **`EM_AMBIGUOUS`** flag is a warning that the returned control word might not represent the state of both floating-point control words accurately.
-On the ARM, ARM64, and x64 platforms, changing the infinity mode or the floating-point precision isn't supported. If the precision control mask is used on the x64 platform, the function raises an assertion, and the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md).
+On the ARM, ARM64, and x64 platforms, changing the infinity mode or the floating-point precision isn't supported. If the precision control mask is used on the x64 platform, the function raises an assertion, and the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md).
> [!NOTE]
> **`__control87_2`** is not supported on the ARM, ARM64, or x64 platforms. If you use **`__control87_2`** and compile your program for the ARM, ARM64, or x64 platforms, the compiler generates an error.
@@ -112,7 +112,7 @@ For the **`_MCW_EM`** mask, clearing the mask sets the exception, which allows t
|-------------|---------------------|
|**`_control87`**, **`_controlfp`**, **`_control87_2`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -162,7 +162,7 @@ Default: 0x0009001f
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`_clear87`, `_clearfp`](clear87-clearfp.md)\
[`_status87`, `_statusfp`, `_statusfp2`](status87-statusfp-statusfp2.md)\
[`_controlfp_s`](controlfp-s.md)
diff --git a/docs/c-runtime-library/reference/controlfp-s.md b/docs/c-runtime-library/reference/controlfp-s.md
index 12dc7cff717..6f72ce9924b 100644
--- a/docs/c-runtime-library/reference/controlfp-s.md
+++ b/docs/c-runtime-library/reference/controlfp-s.md
@@ -11,7 +11,7 @@ helpviewer_keywords: ["floating-point numbers, control word", "controlfp_s funct
---
# `_controlfp_s`
-Gets and sets the floating-point control word. This version of [`_control87`, `_controlfp`, `\__control87_2`](control87-controlfp-control87-2.md) has security enhancements, as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Gets and sets the floating-point control word. This version of [`_control87`, `_controlfp`, `\__control87_2`](control87-controlfp-control87-2.md) has security enhancements, as described in [Security features in the CRT](../security-features-in-the-crt.md).
## Syntax
@@ -34,7 +34,7 @@ New control-word bit values.
*`mask`*\
Mask for new control-word bits to set.
-## Return Value
+## Return value
Zero if successful, or an **`errno`** value error code.
@@ -77,9 +77,9 @@ _controlfp_s(¤t_word, _DN_FLUSH, _MCW_DN);
On ARM platforms, the **`_controlfp_s`** function applies to the FPSCR register. On x64 architectures, only the SSE2 control word that's stored in the MXCSR register is affected. On Intel (x86) platforms, **`_controlfp_s`** affects the control words for both the x87 and the SSE2, if present. It's possible for the two control words to be inconsistent with each other (because of a previous call to [`__control87_2`](control87-controlfp-control87-2.md), for example); if there's an inconsistency between the two control words, **`_controlfp_s`** sets the **`EM_AMBIGUOUS`** flag in *`currentControl`*. It's a warning that the returned control word might not represent the state of both floating-point control words accurately.
-On the ARM and x64 architectures, changing the infinity mode or the floating-point precision isn't supported. If the precision control mask is used on the x64 platform, the function raises an assertion and the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md).
+On the ARM and x64 architectures, changing the infinity mode or the floating-point precision isn't supported. If the precision control mask is used on the x64 platform, the function raises an assertion and the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md).
-If the mask isn't set correctly, this function generates an invalid parameter exception, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, this function returns **`EINVAL`** and sets **`errno`** to **`EINVAL`**.
+If the mask isn't set correctly, this function generates an invalid parameter exception, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, this function returns **`EINVAL`** and sets **`errno`** to **`EINVAL`**.
This function is ignored when you use [`/clr` (Common Language Runtime Compilation)](../../build/reference/clr-common-language-runtime-compilation.md) to compile because the common language runtime (CLR) only supports the default floating-point precision.
@@ -103,7 +103,7 @@ For the **`_MCW_EM`** mask, clearing it sets the exception, which allows the har
|-------------|---------------------|
|**`_controlfp_s`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -158,7 +158,7 @@ Default: 0x9001f
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`_clear87`, `_clearfp`](clear87-clearfp.md)\
[`_status87`, `_statusfp`, `_statusfp2`](status87-statusfp-statusfp2.md)\
[`_control87`, `_controlfp`, `\__control87_2`](control87-controlfp-control87-2.md)
diff --git a/docs/c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md b/docs/c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md
index b22ae5c3eee..560f14241f6 100644
--- a/docs/c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md
+++ b/docs/c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md
@@ -56,9 +56,9 @@ The floating-point value that's returned as the magnitude of the result.
*`y`*\
The floating-point value that's returned as the sign of the result.
-[Floating-Point Support Routines](../../c-runtime-library/floating-point-support.md)
+[Math and floating-point support](../floating-point-support.md)
-## Return Value
+## Return value
The **copysign** functions return a floating-point value that combines the magnitude of *`x`* and the sign of *`y`*. There's no error return.
@@ -66,7 +66,7 @@ The **copysign** functions return a floating-point value that combines the magni
Because C++ allows overloading, you can call overloads of **copysign** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **copysign** always takes and returns a **`double`**.
-If you use the \ `copysign()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `copysign()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -76,9 +76,9 @@ If you use the \ `copysign()` macro, the type of the argument determin
|**copysign**, **copysignf**, **copysignl**, **_copysignf**, **_copysignl**|\|
|**copysign** macro | \ |
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[fabs, fabsf, fabsl](fabs-fabsf-fabsl.md)
-[_chgsign, _chgsignf, _chgsignl](chgsign-chgsignf-chgsignl.md)
+[fabs, fabsf, fabsl](fabs-fabsf-fabsl.md)\
+[_chgsign, _chgsignf, _chgsignl](chgsign-chgsignf-chgsignl.md)
diff --git a/docs/c-runtime-library/reference/cos-cosf-cosl.md b/docs/c-runtime-library/reference/cos-cosf-cosl.md
index 87c2b45c7db..dc46d861fee 100644
--- a/docs/c-runtime-library/reference/cos-cosf-cosl.md
+++ b/docs/c-runtime-library/reference/cos-cosf-cosl.md
@@ -31,7 +31,7 @@ long double cos( long double x ); // C++ only
*x*\
Angle in radians.
-## Return Value
+## Return value
The cosine of *x*. If *x* is greater than or equal to 263, or less than or equal to -263, a loss of significance in the result occurs.
@@ -44,7 +44,7 @@ The cosine of *x*. If *x* is greater than or equal to 263, or less than or equal
Because C++ allows overloading, you can call overloads of **cos** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **cos** always takes and returns a **`double`**.
-If you use the \ `cos()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `cos()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -55,7 +55,7 @@ By default, this function's global state is scoped to the application. To change
|**cos**, **cosh**, **cosf**|\|\ or \|
|**cos()** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -63,10 +63,10 @@ See the example in [`sin`, `sinf`, `sinl`](sin-sinf-sinl.md).
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)
-[`acos`, `acosf`, `acosl`](acos-acosf-acosl.md)
-[`asin`, `asinf`, `asinl`](asin-asinf-asinl.md)
-[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](atan-atanf-atanl-atan2-atan2f-atan2l.md)
-[`_matherr`](matherr.md)
-[`sin`, `sinf`, `sinl`](sin-sinf-sinl.md)
+[Math and floating-point support](../floating-point-support.md)\
+[`acos`, `acosf`, `acosl`](acos-acosf-acosl.md)\
+[`asin`, `asinf`, `asinl`](asin-asinf-asinl.md)\
+[`atan`, `atanf`, `atanl`, `atan2`, `atan2f`, `atan2l`](atan-atanf-atanl-atan2-atan2f-atan2l.md)\
+[`_matherr`](matherr.md)\
+[`sin`, `sinf`, `sinl`](sin-sinf-sinl.md)\
[`tan`, `tanf`, `tanl`](tan-tanf-tanl.md)
diff --git a/docs/c-runtime-library/reference/cosh-coshf-coshl.md b/docs/c-runtime-library/reference/cosh-coshf-coshl.md
index 1b6c92c3d33..40b8c7a2727 100644
--- a/docs/c-runtime-library/reference/cosh-coshf-coshl.md
+++ b/docs/c-runtime-library/reference/cosh-coshf-coshl.md
@@ -30,7 +30,7 @@ long double cosh( long double x ); // C++ only
*`x`*\
Angle in radians.
-## Return Value
+## Return value
The hyperbolic cosine of *`x`*.
@@ -45,7 +45,7 @@ By default, if the result is too large in a **`cosh`**, **`coshf`**, or **`coshl
Because C++ allows overloading, you can call overloads of **`cosh`** that take and return **`float`** or **`long double`** values. In a C program, unless you're using the `` macro to call this function, **`cosh`** always takes and returns a **`double`**.
-If you use the `` `cosh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the `` `cosh()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
@@ -56,7 +56,7 @@ By default, this function's global state is scoped to the application. To change
|**`coshf`**, **`cosl`**, **`coshl`**|``|`` or ``|
|**`coshf()`** macro | `` ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -64,7 +64,7 @@ See the example in [`sinh`, `sinhf`, `sinhl`](sinh-sinhf-sinhl.md).
## See also
-[Floating-Point Support](../../c-runtime-library/floating-point-support.md)\
+[Math and floating-point support](../floating-point-support.md)\
[`acosh, acoshf, acoshl`](acosh-acoshf-acoshl.md)\
[`asinh, asinhf, asinhl`](asinh-asinhf-asinhl.md)\
[`atanh, atanhf, atanhl`](atanh-atanhf-atanhl.md)\
diff --git a/docs/c-runtime-library/reference/countof-macro.md b/docs/c-runtime-library/reference/countof-macro.md
index 8720e8453ee..ab3d549f060 100644
--- a/docs/c-runtime-library/reference/countof-macro.md
+++ b/docs/c-runtime-library/reference/countof-macro.md
@@ -24,7 +24,7 @@ Computes the number of elements in a statically allocated array.
*`array`*
The name of an array.
-## Return Value
+## Return value
The number of elements in the array, expressed as a **`size_t`**.
@@ -69,4 +69,4 @@ _countof(arr) = 20 elements
## See also
-[`sizeof` Operator](../../cpp/sizeof-operator.md)
+[`sizeof` Operator](../../cpp/sizeof-operator.md)
diff --git a/docs/c-runtime-library/reference/cpow-cpowf-cpowl.md b/docs/c-runtime-library/reference/cpow-cpowf-cpowl.md
index 49f0b287c0a..c62b557d12e 100644
--- a/docs/c-runtime-library/reference/cpow-cpowf-cpowl.md
+++ b/docs/c-runtime-library/reference/cpow-cpowf-cpowl.md
@@ -42,7 +42,7 @@ The base.
*y*
The exponent.
-## Return Value
+## Return value
The value of *x* raised to the power of *y* with a branch cut for *x* along the negative real axis.
@@ -56,11 +56,11 @@ Because C++ allows overloading, you can call overloads of **cpow** that take and
|-------------|--------------|------------------|
|**cpow**, **cpowf**, **cpowl**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)
-[clog10, clog10f, clog10l](clog10-clog10f-clog10l.md)
-[clog, clogf, clogl](clog-clogf-clogl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[cexp, cexpf, cexpl](cexp-cexpf-cexpl.md)\
+[clog10, clog10f, clog10l](clog10-clog10f-clog10l.md)\
+[clog, clogf, clogl](clog-clogf-clogl.md)
diff --git a/docs/c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md b/docs/c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md
index 98e60e009d7..090a8499cae 100644
--- a/docs/c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md
+++ b/docs/c-runtime-library/reference/cprintf-cprintf-l-cwprintf-cwprintf-l.md
@@ -46,19 +46,19 @@ Optional parameters for the format string.
*locale*
The locale to use.
-## Return Value
+## Return value
The number of characters printed.
## Remarks
-These functions format and print a series of characters and values directly to the console, using the **_putch** function (**_putwch** for **_cwprintf**) to output characters. Each argument in *argument_list* (if any) is converted and output according to the corresponding format specification in *format*. The *format* argument uses the [format specification syntax for printf and wprintf functions](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md). Unlike the **fprintf**, **printf**, and **sprintf** functions, **_cprintf** and **_cwprintf** don't translate line-feed characters into carriage return-line feed (CR-LF) combinations when output.
+These functions format and print a series of characters and values directly to the console, using the **_putch** function (**_putwch** for **_cwprintf**) to output characters. Each argument in *argument_list* (if any) is converted and output according to the corresponding format specification in *format*. The *format* argument uses the [format specification syntax for printf and wprintf functions](../format-specification-syntax-printf-and-wprintf-functions.md). Unlike the **fprintf**, **printf**, and **sprintf** functions, **_cprintf** and **_cwprintf** don't translate line-feed characters into carriage return-line feed (CR-LF) combinations when output.
An important distinction is that **_cwprintf** displays Unicode characters when used in Windows. Unlike **_cprintf**, **_cwprintf** uses the current console locale settings.
The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current locale.
-**_cprintf** validates the *format* parameter. If *format* is a null pointer, the function invokes the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the function returns -1 and sets **errno** to **EINVAL**.
+**_cprintf** validates the *format* parameter. If *format* is a null pointer, the function invokes the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, the function returns -1 and sets **errno** to **EINVAL**.
> [!IMPORTANT]
> Ensure that *format* is not a user-defined string.
@@ -66,7 +66,7 @@ The versions of these functions with the **_l** suffix are identical except that
>
> Starting in Windows 10 version 2004 (build 19041), the `printf` family of functions prints exactly representable floating point numbers according to the IEEE 754 rules for rounding. In previous versions of Windows, exactly representable floating point numbers ending in '5' would always round up. IEEE 754 states that they must round to the closest even digit (also known as "Banker's Rounding"). For example, both `printf("%1.0f", 1.5)` and `printf("%1.0f", 2.5)` should round to 2. Previously, 1.5 would round to 2 and 2.5 would round to 3. This change only affects exactly representable numbers. For example, 2.35 (which, when represented in memory, is closer to 2.35000000000000008) continues to round up to 2.4. Rounding done by these functions now also respects the floating point rounding mode set by [`fesetround`](fegetround-fesetround2.md). Previously, rounding always chose `FE_TONEAREST` behavior. This change only affects programs built using Visual Studio 2019 version 16.2 and later. To use the legacy floating point rounding behavior, link with [`legacy_stdio_float_rounding.obj`](../link-options.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -80,7 +80,7 @@ The versions of these functions with the **_l** suffix are identical except that
|**_cprintf**, **_cprintf_l**|\|
|**_cwprintf**, **_cwprintf_l**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -112,12 +112,12 @@ int main( void )
## See also
-[Console and Port I/O](../../c-runtime-library/console-and-port-i-o.md)
-[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)
-[fprintf, _fprintf_l, fwprintf, _fwprintf_l](fprintf-fprintf-l-fwprintf-fwprintf-l.md)
-[printf, _printf_l, wprintf, _wprintf_l](printf-printf-l-wprintf-wprintf-l.md)
-[sprintf, _sprintf_l, swprintf, _swprintf_l, \__swprintf_l](sprintf-sprintf-l-swprintf-swprintf-l-swprintf-l.md)
-[vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l](vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)
-[_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l](cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)
-[_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l](cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md)
-[Format Specification Syntax: printf and wprintf Functions](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md)
+[Console and port I/O](../console-and-port-i-o.md)\
+[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)\
+[fprintf, _fprintf_l, fwprintf, _fwprintf_l](fprintf-fprintf-l-fwprintf-fwprintf-l.md)\
+[printf, _printf_l, wprintf, _wprintf_l](printf-printf-l-wprintf-wprintf-l.md)\
+[sprintf, _sprintf_l, swprintf, _swprintf_l, \__swprintf_l](sprintf-sprintf-l-swprintf-swprintf-l-swprintf-l.md)\
+[vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l](vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)\
+[_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l](cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)\
+[_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l](cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md)\
+[Format specification syntax: `printf` and `wprintf` functions](../format-specification-syntax-printf-and-wprintf-functions.md)
diff --git a/docs/c-runtime-library/reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md b/docs/c-runtime-library/reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md
index 682cc1e817e..23b476f4142 100644
--- a/docs/c-runtime-library/reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md
+++ b/docs/c-runtime-library/reference/cprintf-p-cprintf-p-l-cwprintf-p-cwprintf-p-l.md
@@ -50,19 +50,19 @@ Optional parameters.
*`locale`*
The locale to use.
-## Return Value
+## Return value
The number of characters printed or a negative value if an error occurs.
## Remarks
-These functions format and print a series of characters and values directly to the console, using the **_putch** and **_putwch** functions to output characters. Each *`argument`* (if any) is converted and output according to the corresponding format specification in *`format`*. The format has the same form and function as the *`format`* parameter for the [printf_p](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md) function. The difference between **_cprintf_p** and **cprintf_s** is that **_cprintf_p** supports positional parameters, which allows specifying the order in which the arguments are used in the format string. For more information, see [printf_p Positional Parameters](../../c-runtime-library/printf-p-positional-parameters.md).
+These functions format and print a series of characters and values directly to the console, using the **_putch** and **_putwch** functions to output characters. Each *`argument`* (if any) is converted and output according to the corresponding format specification in *`format`*. The format has the same form and function as the *`format`* parameter for the [printf_p](../format-specification-syntax-printf-and-wprintf-functions.md) function. The difference between **_cprintf_p** and **cprintf_s** is that **_cprintf_p** supports positional parameters, which allows specifying the order in which the arguments are used in the format string. For more information, see [printf_p Positional Parameters](../printf-p-positional-parameters.md).
Unlike the **fprintf_p**, **printf_p**, and **sprintf_p** functions, **_cprintf_p** and **_cwprintf_p** don't translate line-feed characters into carriage return-line feed (CR-LF) combinations when output. An important distinction is that **_cwprintf_p** displays Unicode characters when used in Windows NT. Unlike **_cprintf_p**, **_cwprintf_p** uses the current console locale settings.
The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current locale.
-Also, like **_cprintf_s** and **_cwprintf_s**, they validate the input pointer and the format string. If *`format`* or *`argument`* are **NULL**, or of the format string contains invalid formatting characters, these functions invoke the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions return -1 and set **errno** to **EINVAL**.
+Also, like **_cprintf_s** and **_cwprintf_s**, they validate the input pointer and the format string. If *`format`* or *`argument`* are **NULL**, or of the format string contains invalid formatting characters, these functions invoke the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions return -1 and set **errno** to **EINVAL**.
> [!IMPORTANT]
> Ensure that *`format`* is not a user-defined string.
@@ -70,7 +70,7 @@ Also, like **_cprintf_s** and **_cwprintf_s**, they validate the input pointer a
>
> Starting in Windows 10 version 2004 (build 19041), the `printf` family of functions prints exactly representable floating point numbers according to the IEEE 754 rules for rounding. In previous versions of Windows, exactly representable floating point numbers ending in '5' would always round up. IEEE 754 states that they must round to the closest even digit (also known as "Banker's Rounding"). For example, both `printf("%1.0f", 1.5)` and `printf("%1.0f", 2.5)` should round to 2. Previously, 1.5 would round to 2 and 2.5 would round to 3. This change only affects exactly representable numbers. For example, 2.35 (which, when represented in memory, is closer to 2.35000000000000008) continues to round up to 2.4. Rounding done by these functions now also respects the floating point rounding mode set by [`fesetround`](fegetround-fesetround2.md). Previously, rounding always chose `FE_TONEAREST` behavior. This change only affects programs built using Visual Studio 2019 version 16.2 and later. To use the legacy floating point rounding behavior, link with [`legacy_stdio_float_rounding.obj`](../link-options.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -84,7 +84,7 @@ Also, like **_cprintf_s** and **_cwprintf_s**, they validate the input pointer a
|**_cprintf_p**, **_cprintf_p_l**|\|
|**_cwprintf_p**, **_cwprintf_p_l**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -116,15 +116,15 @@ int main( void )
## See also
-[Console and Port I/O](../../c-runtime-library/console-and-port-i-o.md)
-[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)
-[_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l](cscanf-s-cscanf-s-l-cwscanf-s-cwscanf-s-l.md)
-[_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l](fprintf-p-fprintf-p-l-fwprintf-p-fwprintf-p-l.md)
-[fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md)
-[_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l](printf-p-printf-p-l-wprintf-p-wprintf-p-l.md)
-[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
-[_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l](sprintf-p-sprintf-p-l-swprintf-p-swprintf-p-l.md)
-[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)
-[_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l](cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)
-[printf_p Positional Parameters](../../c-runtime-library/printf-p-positional-parameters.md)
-[Format Specification Syntax: printf and wprintf Functions](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md)
+[Console and port I/O](../console-and-port-i-o.md)\
+[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)\
+[_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l](cscanf-s-cscanf-s-l-cwscanf-s-cwscanf-s-l.md)\
+[_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l](fprintf-p-fprintf-p-l-fwprintf-p-fwprintf-p-l.md)\
+[fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md)\
+[_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l](printf-p-printf-p-l-wprintf-p-wprintf-p-l.md)\
+[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)\
+[_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l](sprintf-p-sprintf-p-l-swprintf-p-swprintf-p-l.md)\
+[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)\
+[_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l](cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md)\
+[printf_p Positional Parameters](../printf-p-positional-parameters.md)\
+[Format specification syntax: `printf` and `wprintf` functions](../format-specification-syntax-printf-and-wprintf-functions.md)
diff --git a/docs/c-runtime-library/reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md b/docs/c-runtime-library/reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md
index 749174d3359..d362a5ee7d3 100644
--- a/docs/c-runtime-library/reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md
+++ b/docs/c-runtime-library/reference/cprintf-s-cprintf-s-l-cwprintf-s-cwprintf-s-l.md
@@ -11,7 +11,7 @@ helpviewer_keywords: ["tcprintf_s_l function", "_cprintf_s_l function", "_cwprin
---
# _cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
-Formats and prints to the console. These versions of [_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](cprintf-cprintf-l-cwprintf-cwprintf-l.md) have security enhancements, as described in [Security Features in the CRT](../../c-runtime-library/security-features-in-the-crt.md).
+Formats and prints to the console. These versions of [_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](cprintf-cprintf-l-cwprintf-cwprintf-l.md) have security enhancements, as described in [Security features in the CRT](../security-features-in-the-crt.md).
> [!IMPORTANT]
> This API cannot be used in applications that execute in the Windows Runtime. For more information, see [CRT functions not supported in Universal Windows Platform apps](../../cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md).
@@ -50,13 +50,13 @@ Optional parameters.
*locale*
The locale to use.
-## Return Value
+## Return value
The number of characters printed.
## Remarks
-These functions format and print a series of characters and values directly to the console, using the **_putch** function (**_putwch** for **_cwprintf_s**) to output characters. Each *argument* (if any) is converted and output according to the corresponding format specification in *format*. The format has the same form and function as the *format* parameter for the [printf_s](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md) function. Unlike the **fprintf_s**, **printf_s**, and **sprintf_s** functions, **_cprintf_s** and **_cwprintf_s** don't translate line-feed characters into carriage return-line feed (CR-LF) combinations when output.
+These functions format and print a series of characters and values directly to the console, using the **_putch** function (**_putwch** for **_cwprintf_s**) to output characters. Each *argument* (if any) is converted and output according to the corresponding format specification in *format*. The format has the same form and function as the *format* parameter for the [printf_s](../format-specification-syntax-printf-and-wprintf-functions.md) function. Unlike the **fprintf_s**, **printf_s**, and **sprintf_s** functions, **_cprintf_s** and **_cwprintf_s** don't translate line-feed characters into carriage return-line feed (CR-LF) combinations when output.
An important distinction is that **_cwprintf_s** displays Unicode characters when used in Windows NT. Unlike **_cprintf_s**, **_cwprintf_s** uses the current console locale
@@ -68,9 +68,9 @@ The versions of these functions with the **_l** suffix are identical except that
>
> Starting in Windows 10 version 2004 (build 19041), the `printf` family of functions prints exactly representable floating point numbers according to the IEEE 754 rules for rounding. In previous versions of Windows, exactly representable floating point numbers ending in '5' would always round up. IEEE 754 states that they must round to the closest even digit (also known as "Banker's Rounding"). For example, both `printf("%1.0f", 1.5)` and `printf("%1.0f", 2.5)` should round to 2. Previously, 1.5 would round to 2 and 2.5 would round to 3. This change only affects exactly representable numbers. For example, 2.35 (which, when represented in memory, is closer to 2.35000000000000008) continues to round up to 2.4. Rounding done by these functions now also respects the floating point rounding mode set by [`fesetround`](fegetround-fesetround2.md). Previously, rounding always chose `FE_TONEAREST` behavior. This change only affects programs built using Visual Studio 2019 version 16.2 and later. To use the legacy floating point rounding behavior, link with ['legacy_stdio_float_rounding.obj`](../link-options.md).
-Like the non-secure versions (see [_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](cprintf-cprintf-l-cwprintf-cwprintf-l.md)), these functions validate their parameters and invoke the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md), if *format* is a null pointer. These functions differ from the non-secure versions in that the format string itself is also validated. If there are any unknown or badly formed formatting specifiers, these functions invoke the invalid parameter handler. In all cases, If execution is allowed to continue, the functions return -1 and set **errno** to **EINVAL**.
+Like the non-secure versions (see [_cprintf, _cprintf_l, _cwprintf, _cwprintf_l](cprintf-cprintf-l-cwprintf-cwprintf-l.md)), these functions validate their parameters and invoke the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md), if *format* is a null pointer. These functions differ from the non-secure versions in that the format string itself is also validated. If there are any unknown or badly formed formatting specifiers, these functions invoke the invalid parameter handler. In all cases, If execution is allowed to continue, the functions return -1 and set **errno** to **EINVAL**.
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -84,11 +84,11 @@ Like the non-secure versions (see [_cprintf, _cprintf_l, _cwprintf, _cwprintf_l]
|**_cprintf_s**, **_cprintf_s_l**|\|
|**_cwprintf_s**, **_cwprintf_s_l**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-All versions of the [C run-time libraries](../../c-runtime-library/crt-library-features.md).
+All versions of the [C run-time libraries](../crt-library-features.md).
## Example
@@ -119,10 +119,10 @@ int main( void )
## See also
-[Console and Port I/O](../../c-runtime-library/console-and-port-i-o.md)
-[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)
-[fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md)
-[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
-[sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l](sprintf-s-sprintf-s-l-swprintf-s-swprintf-s-l.md)
-[vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l](vfprintf-s-vfprintf-s-l-vfwprintf-s-vfwprintf-s-l.md)
-[Format Specification Syntax: printf and wprintf Functions](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md)
+[Console and port I/O](../console-and-port-i-o.md)\
+[_cscanf, _cscanf_l, _cwscanf, _cwscanf_l](cscanf-cscanf-l-cwscanf-cwscanf-l.md)\
+[fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l](fprintf-s-fprintf-s-l-fwprintf-s-fwprintf-s-l.md)\
+[printf_s, _printf_s_l, wprintf_s, _wprintf_s_l](printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)\
+[sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l](sprintf-s-sprintf-s-l-swprintf-s-swprintf-s-l.md)\
+[vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l](vfprintf-s-vfprintf-s-l-vfwprintf-s-vfwprintf-s-l.md)\
+[Format specification syntax: `printf` and `wprintf` functions](../format-specification-syntax-printf-and-wprintf-functions.md)
diff --git a/docs/c-runtime-library/reference/cproj-cprojf-cprojl.md b/docs/c-runtime-library/reference/cproj-cprojf-cprojl.md
index 6992c54b97c..92d6bf05552 100644
--- a/docs/c-runtime-library/reference/cproj-cprojf-cprojl.md
+++ b/docs/c-runtime-library/reference/cproj-cprojf-cprojl.md
@@ -40,7 +40,7 @@ _Lcomplex cprojl(
*z*\
A complex number.
-## Return Value
+## Return value
The projection of *z* on the Reimann sphere.
@@ -48,7 +48,7 @@ The projection of *z* on the Reimann sphere.
Because C++ allows overloading, you can call overloads of **cproj** that take and return **_Fcomplex** and **_Lcomplex** values. In a C program, unless you're using the \ macro to call this function, **cproj** always takes and returns a **_Dcomplex** value.
-If you use the \ `cproj()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `cproj()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -57,14 +57,14 @@ If you use the \ `cproj()` macro, the type of the argument determines
|**cproj**, **cprojf**, **cprojl**|\|\|
|**cproj** macro | \ ||
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[creal, crealf, creall](creal-crealf-creall.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[creal, crealf, creall](creal-crealf-creall.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/cputs-cputws.md b/docs/c-runtime-library/reference/cputs-cputws.md
index b80d08ba6ea..cdab58ce5bf 100644
--- a/docs/c-runtime-library/reference/cputs-cputws.md
+++ b/docs/c-runtime-library/reference/cputs-cputws.md
@@ -33,7 +33,7 @@ int _cputws(
*str*
Output string.
-## Return Value
+## Return value
If successful, **_cputs** returns 0. If the function fails, it returns a nonzero value.
@@ -41,11 +41,11 @@ If successful, **_cputs** returns 0. If the function fails, it returns a nonzero
The **_cputs** function writes the null-terminated string that's pointed to by *str* directly to the console. A carriage return-line feed (CR-LF) combination isn't automatically appended to the string.
-This function validates its parameter. If *str* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL**, and -1 is returned.
+This function validates its parameter. If *str* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, **errno** is set to **EINVAL**, and -1 is returned.
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -58,11 +58,11 @@ By default, this function's global state is scoped to the application. To change
|**_cputs**|\|\|
|**_cputws**|\|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-All versions of the [C run-time libraries](../../c-runtime-library/crt-library-features.md).
+All versions of the [C run-time libraries](../crt-library-features.md).
## Example
@@ -123,5 +123,5 @@ Hello world (courtesy of _cputws)!
## See also
-[Console and Port I/O](../../c-runtime-library/console-and-port-i-o.md)
-[_putch, _putwch](putch-putwch.md)
+[Console and port I/O](../console-and-port-i-o.md)\
+[_putch, _putwch](putch-putwch.md)
diff --git a/docs/c-runtime-library/reference/creal-crealf-creall.md b/docs/c-runtime-library/reference/creal-crealf-creall.md
index cf820db3373..2e026055757 100644
--- a/docs/c-runtime-library/reference/creal-crealf-creall.md
+++ b/docs/c-runtime-library/reference/creal-crealf-creall.md
@@ -31,7 +31,7 @@ long double creal( _Lcomplex z ); // C++ only
*z*
A complex number.
-## Return Value
+## Return value
The real part of *z*.
@@ -39,7 +39,7 @@ The real part of *z*.
Because C++ allows overloading, you can call overloads of **creal** that take **_Fcomplex** or **_Lcomplex** values, and return **`float`** or **`long double`** values. In a C program, unless you're using the \ macro to call this function, **creal** always takes a **_Dcomplex** value and returns a **`double`** value.
-If you use the \ `creal()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../../c-runtime-library/tgmath.md) for details.
+If you use the \ `creal()` macro, the type of the argument determines which version of the function is selected. See [Type-generic math](../tgmath.md) for details.
## Requirements
@@ -48,15 +48,15 @@ If you use the \ `creal()` macro, the type of the argument determines
|**creal**, **crealf**, **creall**|\|\|
|**creal** macro | \ ||
-The **_Fcomplex**, **_Dcomplex**, and **_Lcomplex** types are Microsoft-specific equivalents of the unimplemented native C99 types **float _Complex**, **double _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+The **_Fcomplex**, **_Dcomplex**, and **_Lcomplex** types are Microsoft-specific equivalents of the unimplemented native C99 types **float _Complex**, **double _Complex**, and **long double _Complex**, respectively. For more compatibility information, see [Compatibility](../compatibility.md).
## See also
-[Alphabetical Function Reference](crt-alphabetical-function-reference.md)
-[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)
-[norm, normf, norml](norm-normf-norml1.md)
-[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)
-[conj, conjf, conjl](conj-conjf-conjl.md)
-[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)
-[carg, cargf, cargl](carg-cargf-cargl.md)
-[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
+[Alphabetical function reference](crt-alphabetical-function-reference.md)\
+[_Cbuild, _FCbuild, _LCbuild](cbuild-fcbuild-lcbuild.md)\
+[norm, normf, norml](norm-normf-norml1.md)\
+[cproj, cprojf, cprojl](cproj-cprojf-cprojl.md)\
+[conj, conjf, conjl](conj-conjf-conjl.md)\
+[cimag, cimagf, cimagl](cimag-cimagf-cimagl.md)\
+[carg, cargf, cargl](carg-cargf-cargl.md)\
+[cabs, cabsf, cabsl](cabs-cabsf-cabsl.md)
diff --git a/docs/c-runtime-library/reference/creat-wcreat.md b/docs/c-runtime-library/reference/creat-wcreat.md
index 3fa727c9c51..0c10410e128 100644
--- a/docs/c-runtime-library/reference/creat-wcreat.md
+++ b/docs/c-runtime-library/reference/creat-wcreat.md
@@ -35,7 +35,7 @@ Name of new file.
*`pmode`*
Permission setting.
-## Return Value
+## Return value
These functions, if successful, return a file descriptor to the created file. Otherwise, the functions return -1 and set **errno** as shown in the following table.
@@ -45,9 +45,9 @@ These functions, if successful, return a file descriptor to the created file. Ot
|**EMFILE**|No more file descriptors are available.|
|**ENOENT**|Specified file couldn't be found.|
-If *`filename`* is **NULL**, these functions invoke the invalid parameter handler, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return -1.
+If *`filename`* is **NULL**, these functions invoke the invalid parameter handler, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return -1.
-For more information about these and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
+For more information about these and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md).
## Remarks
@@ -55,7 +55,7 @@ The **_creat** function creates a new file or opens and truncates an existing on
By default, this function's global state is scoped to the application. To change it, see [Global state in the CRT](../global-state.md).
-### Generic-Text Routine Mappings
+### Generic-text routine mappings
|Tchar.h routine|_UNICODE and _MBCS not defined|_MBCS defined|_UNICODE defined|
|---------------------|--------------------------------------|--------------------|-----------------------|
@@ -80,7 +80,7 @@ If write permission isn't given, the file is read-only. All files are always rea
|**_creat**|\|\, \, \|
|**_wcreat**|\ or \|\, \, \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -119,11 +119,11 @@ Created data file.
## See also
-[Low-Level I/O](../../c-runtime-library/low-level-i-o.md)
-[_chmod, _wchmod](chmod-wchmod.md)
-[_chsize](chsize.md)
-[_close](close.md)
-[_dup, _dup2](dup-dup2.md)
-[_open, _wopen](open-wopen.md)
-[_sopen, _wsopen](sopen-wsopen.md)
-[_umask](umask.md)
+[Low-level I/O](../low-level-i-o.md)\
+[_chmod, _wchmod](chmod-wchmod.md)\
+[_chsize](chsize.md)\
+[_close](close.md)\
+[_dup, _dup2](dup-dup2.md)\
+[_open, _wopen](open-wopen.md)\
+[_sopen, _wsopen](sopen-wsopen.md)\
+[_umask](umask.md)
diff --git a/docs/c-runtime-library/reference/create-locale-wcreate-locale.md b/docs/c-runtime-library/reference/create-locale-wcreate-locale.md
index 47794b68bf3..7fe59a46909 100644
--- a/docs/c-runtime-library/reference/create-locale-wcreate-locale.md
+++ b/docs/c-runtime-library/reference/create-locale-wcreate-locale.md
@@ -35,7 +35,7 @@ Category.
*locale*
Locale specifier.
-## Return Value
+## Return value
If a valid *locale* and *category* are given, the functions return the specified locale settings as a **_locale_t** object. The current locale settings of the program aren't changed.
@@ -58,9 +58,9 @@ The *category* argument specifies the parts of the locale-specific behavior that
This function validates the *category* and *locale* parameters. If the category parameter isn't one of the values given in the previous table or if *locale* is **NULL**, the function returns **NULL**.
-The *locale* argument is a pointer to a string that specifies the locale. For information about the format of the *locale* argument, see [Locale Names, Languages, and Country/Region Strings](../../c-runtime-library/locale-names-languages-and-country-region-strings.md).
+The *locale* argument is a pointer to a string that specifies the locale. For information about the format of the *locale* argument, see [Locale names, Languages, and Country/Region strings](../locale-names-languages-and-country-region-strings.md).
-The *locale* argument can take several kinds of values: a locale name, a language string, a language string and country/region code, a code page, or a combination of language string, country/region code, and code page. The set (of available locale names, languages, country/region codes, and code pages) includes all that are supported by the Windows NLS API. The set of locale names **_create_locale** supports is described in [Locale Names, Languages, and Country/Region Strings](../../c-runtime-library/locale-names-languages-and-country-region-strings.md). The set of language and country/region strings supported by **_create_locale** are listed in [Language Strings](../../c-runtime-library/language-strings.md) and [Country/Region Strings](../../c-runtime-library/country-region-strings.md).
+The *locale* argument can take several kinds of values: a locale name, a language string, a language string and country/region code, a code page, or a combination of language string, country/region code, and code page. The set (of available locale names, languages, country/region codes, and code pages) includes all that are supported by the Windows NLS API. The set of locale names **_create_locale** supports is described in [Locale names, Languages, and Country/Region strings](../locale-names-languages-and-country-region-strings.md). The set of language and country/region strings supported by **_create_locale** are listed in [Language strings](../language-strings.md) and [Country/Region strings](../country-region-strings.md).
For more information about locale settings, see [setlocale, _wsetlocale](setlocale-wsetlocale.md).
@@ -75,7 +75,7 @@ By default, this function's global state is scoped to the application. To change
|**_create_locale**|\|
|**_wcreate_locale**|\ or \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Example
@@ -141,22 +141,22 @@ In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
## See also
-[Locale Names, Languages, and Country/Region Strings](../../c-runtime-library/locale-names-languages-and-country-region-strings.md)
-[Language Strings](../../c-runtime-library/language-strings.md)
-[Country/Region Strings](../../c-runtime-library/country-region-strings.md)
-[_free_locale](free-locale.md)
-[_configthreadlocale](configthreadlocale.md)
-[setlocale](../../preprocessor/setlocale.md)
-[Locale](../../c-runtime-library/locale.md)
-[localeconv](localeconv.md)
-[_mbclen, mblen, _mblen_l](mbclen-mblen-mblen-l.md)
-[strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l](strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)
-[mbstowcs, _mbstowcs_l](mbstowcs-mbstowcs-l.md)
-[mbtowc, _mbtowc_l](mbtowc-mbtowc-l.md)
-[_setmbcp](setmbcp.md)
-[setlocale, _wsetlocale](setlocale-wsetlocale.md)
-[strcoll Functions](../../c-runtime-library/strcoll-functions.md)
-[strftime, wcsftime, _strftime_l, _wcsftime_l](strftime-wcsftime-strftime-l-wcsftime-l.md)
-[strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l](strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)
-[wcstombs, _wcstombs_l](wcstombs-wcstombs-l.md)
-[wctomb, _wctomb_l](wctomb-wctomb-l.md)
+[Locale names, Languages, and Country/Region strings](../locale-names-languages-and-country-region-strings.md)\
+[Language strings](../language-strings.md)\
+[Country/Region strings](../country-region-strings.md)\
+[_free_locale](free-locale.md)\
+[_configthreadlocale](configthreadlocale.md)\
+[setlocale](../../preprocessor/setlocale.md)\
+[Locale](../locale.md)\
+[localeconv](localeconv.md)\
+[_mbclen, mblen, _mblen_l](mbclen-mblen-mblen-l.md)\
+[strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l](strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md)\
+[mbstowcs, _mbstowcs_l](mbstowcs-mbstowcs-l.md)\
+[mbtowc, _mbtowc_l](mbtowc-mbtowc-l.md)\
+[_setmbcp](setmbcp.md)\
+[setlocale, _wsetlocale](setlocale-wsetlocale.md)\
+[strcoll Functions](../strcoll-functions.md)\
+[strftime, wcsftime, _strftime_l, _wcsftime_l](strftime-wcsftime-strftime-l-wcsftime-l.md)\
+[strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l](strxfrm-wcsxfrm-strxfrm-l-wcsxfrm-l.md)\
+[wcstombs, _wcstombs_l](wcstombs-wcstombs-l.md)\
+[wctomb, _wctomb_l](wctomb-wctomb-l.md)
diff --git a/docs/c-runtime-library/reference/crt-alphabetical-function-reference.md b/docs/c-runtime-library/reference/crt-alphabetical-function-reference.md
index 079a532a23e..43265128f6f 100644
--- a/docs/c-runtime-library/reference/crt-alphabetical-function-reference.md
+++ b/docs/c-runtime-library/reference/crt-alphabetical-function-reference.md
@@ -7,7 +7,7 @@ ms.assetid: c2169b0e-cd86-489a-a2fa-2ee15c03b5c2
---
# UCRT alphabetical function reference
-The Universal C Runtime (UCRT, often just CRT) Library reference documentation is arranged alphabetically by routine. To find a CRT routine based on functionality, see [Universal C runtime routines by category](../../c-runtime-library/run-time-routines-by-category.md).
+The Universal C Runtime (UCRT, often just CRT) Library reference documentation is arranged alphabetically by routine. To find a CRT routine based on functionality, see [Universal C runtime routines by category](../run-time-routines-by-category.md).
## A
@@ -3501,4 +3501,4 @@ The Universal C Runtime (UCRT, often just CRT) Library reference documentation i
## See also
-[C Run-Time Library Reference](../../c-runtime-library/c-run-time-library-reference.md)
+[C runtime library reference](../c-run-time-library-reference.md)
diff --git a/docs/c-runtime-library/reference/crtcheckmemory.md b/docs/c-runtime-library/reference/crtcheckmemory.md
index dbab57dfed4..7f87965c21d 100644
--- a/docs/c-runtime-library/reference/crtcheckmemory.md
+++ b/docs/c-runtime-library/reference/crtcheckmemory.md
@@ -21,15 +21,15 @@ Confirms the integrity of the memory blocks allocated in the debug heap (debug v
int _CrtCheckMemory( void );
```
-## Return Value
+## Return value
If successful, **_CrtCheckMemory** returns TRUE; otherwise, the function returns FALSE.
## Remarks
-The **_CrtCheckMemory** function validates memory allocated by the debug heap manager by verifying the underlying base heap and inspecting every memory block. If an error or memory inconsistency is encountered in the underlying base heap, the debug header information, or the overwrite buffers, **_CrtCheckMemory** generates a debug report with information describing the error condition. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, calls to **_CrtCheckMemory** are removed during preprocessing.
+The **_CrtCheckMemory** function validates memory allocated by the debug heap manager by verifying the underlying base heap and inspecting every memory block. If an error or memory inconsistency is encountered in the underlying base heap, the debug header information, or the overwrite buffers, **_CrtCheckMemory** generates a debug report with information describing the error condition. When [_DEBUG](../debug.md) isn't defined, calls to **_CrtCheckMemory** are removed during preprocessing.
-The behavior of **_CrtCheckMemory** can be controlled by setting the bit fields of the [_crtDbgFlag](../../c-runtime-library/crtdbgflag.md) flag using the [_CrtSetDbgFlag](crtsetdbgflag.md) function. Turning the **_CRTDBG_CHECK_ALWAYS_DF** bit field ON results in **_CrtCheckMemory** being called every time a memory allocation operation is requested. Although this method slows down execution, it's useful for catching errors quickly. Turning the **_CRTDBG_ALLOC_MEM_DF** bit field OFF causes **_CrtCheckMemory** to not verify the heap and immediately return **TRUE**.
+The behavior of **_CrtCheckMemory** can be controlled by setting the bit fields of the [_crtDbgFlag](../crtdbgflag.md) flag using the [_CrtSetDbgFlag](crtsetdbgflag.md) function. Turning the **_CRTDBG_CHECK_ALWAYS_DF** bit field ON results in **_CrtCheckMemory** being called every time a memory allocation operation is requested. Although this method slows down execution, it's useful for catching errors quickly. Turning the **_CRTDBG_ALLOC_MEM_DF** bit field OFF causes **_CrtCheckMemory** to not verify the heap and immediately return **TRUE**.
Because this function returns **TRUE** or **FALSE**, it can be passed to one of the [_ASSERT](assert-asserte-assert-expr-macros.md) macros to create a basic debugging error handling mechanism. The following example causes an assertion failure if corruption is detected in the heap:
@@ -37,7 +37,7 @@ Because this function returns **TRUE** or **FALSE**, it can be passed to one of
_ASSERTE( _CrtCheckMemory( ) );
```
-For more information about how **_CrtCheckMemory** can be used with other debug functions, see [Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details). For an overview of memory management and the debug heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details).
+For more information about how **_CrtCheckMemory** can be used with other debug functions, see [Heap state reporting functions](/visualstudio/debugger/crt-debug-heap-details). For an overview of memory management and the debug heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details).
## Requirements
@@ -45,11 +45,11 @@ For more information about how **_CrtCheckMemory** can be used with other debug
|-------------|---------------------|
|**_CrtCheckMemory**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## Example
@@ -57,6 +57,6 @@ For a sample of how to use **_CrtCheckMemory**, see [crt_dbg1](https://github.co
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[_crtDbgFlag](../../c-runtime-library/crtdbgflag.md)
-[_CrtSetDbgFlag](crtsetdbgflag.md)
+[Debug routines](../debug-routines.md)\
+[_crtDbgFlag](../crtdbgflag.md)\
+[_CrtSetDbgFlag](crtsetdbgflag.md)
diff --git a/docs/c-runtime-library/reference/crtdbgbreak.md b/docs/c-runtime-library/reference/crtdbgbreak.md
index 464e114d1ff..ddc2f04d75c 100644
--- a/docs/c-runtime-library/reference/crtdbgbreak.md
+++ b/docs/c-runtime-library/reference/crtdbgbreak.md
@@ -20,7 +20,7 @@ Sets a break point on a particular line of code. (Used in debug mode only.)
void _CrtDbgBreak( void );
```
-## Return Value
+## Return value
There's no return value.
@@ -28,7 +28,7 @@ There's no return value.
The **_CrtDbgBreak** function sets a debug breakpoint on the particular line of code where the function resides. This function is used in debug mode only and is dependent on **_DEBUG** being previously defined.
-For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Writing Your Own Debug Hook Functions](/visualstudio/debugger/debug-hook-function-writing).
+For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Writing your own debug hook functions](/visualstudio/debugger/debug-hook-function-writing).
## Requirements
@@ -38,9 +38,9 @@ For more information about using other hook-capable run-time functions and writi
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[__debugbreak](../../intrinsics/debugbreak.md)
+[Debug routines](../debug-routines.md)\
+[__debugbreak](../../intrinsics/debugbreak.md)
diff --git a/docs/c-runtime-library/reference/crtdbgreport-crtdbgreportw.md b/docs/c-runtime-library/reference/crtdbgreport-crtdbgreportw.md
index 787f11612e2..4039054522b 100644
--- a/docs/c-runtime-library/reference/crtdbgreport-crtdbgreportw.md
+++ b/docs/c-runtime-library/reference/crtdbgreport-crtdbgreportw.md
@@ -55,7 +55,7 @@ Pointer to format-control string used to create the user message.
*`argument`*
Optional substitution arguments used by *`format`*.
-## Return Value
+## Return value
For all report destinations, **_CrtDbgReport** and **_CrtDbgReportW** return -1 if an error occurs and 0 if no errors are encountered. However, when the report destination is a debug message window and the user chooses the **Retry** button, these functions return 1. If the user chooses the **Abort** button in the Debug Message window, these functions immediately abort and don't return a value.
@@ -80,7 +80,7 @@ The following table lists the available choices for the report mode or modes and
|**_CRTDBG_MODE_FILE**|**_CRTDBG_FILE_STDERR**|Writes message to **stderr**.|
|**_CRTDBG_MODE_FILE**|**_CRTDBG_FILE_STDOUT**|Writes message to **stdout**.|
-The report can be sent to one, two, or three destinations or to no destination at all. For more information about specifying the report mode or modes and report file, see the [_CrtSetReportMode](crtsetreportmode.md) and [_CrtSetReportFile](crtsetreportfile.md) functions. For more information about using the debug macros and reporting functions, see [Macros for Reporting](/visualstudio/debugger/macros-for-reporting).
+The report can be sent to one, two, or three destinations or to no destination at all. For more information about specifying the report mode or modes and report file, see the [_CrtSetReportMode](crtsetreportmode.md) and [_CrtSetReportFile](crtsetreportfile.md) functions. For more information about using the debug macros and reporting functions, see [Macros for reporting](/visualstudio/debugger/macros-for-reporting).
If your application needs more flexibility than that provided by **_CrtDbgReport** and **_CrtDbgReportW**, you can write your own reporting function and hook it into the C run-time library reporting mechanism by using the [_CrtSetReportHook](crtsetreporthook.md) function.
@@ -91,11 +91,11 @@ If your application needs more flexibility than that provided by **_CrtDbgReport
|**_CrtDbgReport**|\|
|**_CrtDbgReportW**|\|
-**_CrtDbgReport** and **_CrtDbgReportW** are Microsoft extensions. For more information, see [Compatibility](../../c-runtime-library/compatibility.md).
+**_CrtDbgReport** and **_CrtDbgReportW** are Microsoft extensions. For more information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## Example
@@ -114,8 +114,8 @@ See [crt_dbg2](https://github.com/Microsoft/VCSamples/tree/master/VC2010Samples/
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[_CrtSetReportMode](crtsetreportmode.md)
-[_CrtSetReportFile](crtsetreportfile.md)
-[printf, _printf_l, wprintf, _wprintf_l](printf-printf-l-wprintf-wprintf-l.md)
-[_DEBUG](../../c-runtime-library/debug.md)
+[Debug routines](../debug-routines.md)\
+[_CrtSetReportMode](crtsetreportmode.md)\
+[_CrtSetReportFile](crtsetreportfile.md)\
+[printf, _printf_l, wprintf, _wprintf_l](printf-printf-l-wprintf-wprintf-l.md)\
+[_DEBUG](../debug.md)
diff --git a/docs/c-runtime-library/reference/crtdoforallclientobjects.md b/docs/c-runtime-library/reference/crtdoforallclientobjects.md
index cbb883829ca..07a85bcea21 100644
--- a/docs/c-runtime-library/reference/crtdoforallclientobjects.md
+++ b/docs/c-runtime-library/reference/crtdoforallclientobjects.md
@@ -35,11 +35,11 @@ Pointer to the application-supplied context to pass to the application-supplied
The **_CrtDoForAllClientObjects** function searches the heap's linked list for memory blocks with the **_CLIENT_BLOCK** type and calls the application-supplied function when a block of this type is found. The found block and the *`context`* parameter are passed as arguments to the application-supplied function. During debugging, an application can track a specific group of allocations by explicitly calling the debug heap functions to allocate the memory and specifying that the blocks be assigned the **_CLIENT_BLOCK** block type. These blocks can then be tracked separately and reported on differently during leak detection and memory state reporting.
-If the **_CRTDBG_ALLOC_MEM_DF** bit field of the [_crtDbgFlag](../../c-runtime-library/crtdbgflag.md) flag isn't turned on, **_CrtDoForAllClientObjects** immediately returns. When [_DEBUG](../../c-runtime-library/debug.md) isn't defined, calls to **_CrtDoForAllClientObjects** are removed during preprocessing.
+If the **_CRTDBG_ALLOC_MEM_DF** bit field of the [_crtDbgFlag](../crtdbgflag.md) flag isn't turned on, **_CrtDoForAllClientObjects** immediately returns. When [_DEBUG](../debug.md) isn't defined, calls to **_CrtDoForAllClientObjects** are removed during preprocessing.
-For more information about the **_CLIENT_BLOCK** type and how it can be used by other debug functions, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details).
+For more information about the **_CLIENT_BLOCK** type and how it can be used by other debug functions, see [Types of blocks on the debug heap](/visualstudio/debugger/crt-debug-heap-details). For information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details).
-If *`pfn`* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, [errno, _doserrno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md) is set to **EINVAL** and the function returns.
+If *`pfn`* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter validation](../parameter-validation.md). If execution is allowed to continue, [errno, _doserrno, _sys_errlist, and _sys_nerr](../errno-doserrno-sys-errlist-and-sys-nerr.md) is set to **EINVAL** and the function returns.
## Requirements
@@ -47,13 +47,13 @@ If *`pfn`* is **NULL**, the invalid parameter handler is invoked, as described i
|-------------|---------------------|
|**_CrtDoForAllClientObjects**|\, \|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
**Libraries:** Debug versions of universal C run-time libraries only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[_CrtSetDbgFlag](crtsetdbgflag.md)
-[Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details)
-[_CrtReportBlockType](crtreportblocktype.md)
+[Debug routines](../debug-routines.md)\
+[_CrtSetDbgFlag](crtsetdbgflag.md)\
+[Heap state reporting functions](/visualstudio/debugger/crt-debug-heap-details)\
+[_CrtReportBlockType](crtreportblocktype.md)
diff --git a/docs/c-runtime-library/reference/crtdumpmemoryleaks.md b/docs/c-runtime-library/reference/crtdumpmemoryleaks.md
index 50263ce02b3..0295e810f28 100644
--- a/docs/c-runtime-library/reference/crtdumpmemoryleaks.md
+++ b/docs/c-runtime-library/reference/crtdumpmemoryleaks.md
@@ -20,21 +20,21 @@ Dumps all the memory blocks in the debug heap when a memory leak has occurred (d
int _CrtDumpMemoryLeaks( void );
```
-## Return Value
+## Return value
**`_CrtDumpMemoryLeaks`** returns `TRUE` if a memory leak is found. Otherwise, the function returns `FALSE`.
## Remarks
-The **`_CrtDumpMemoryLeaks`** function determines whether a memory leak has occurred since the start of program execution. When a leak is found, the debug header information for all the objects in the heap is dumped in a user-readable form. When [`_DEBUG`](../../c-runtime-library/debug.md) isn't defined, calls to **`_CrtDumpMemoryLeaks`** are removed during preprocessing.
+The **`_CrtDumpMemoryLeaks`** function determines whether a memory leak has occurred since the start of program execution. When a leak is found, the debug header information for all the objects in the heap is dumped in a user-readable form. When [`_DEBUG`](../debug.md) isn't defined, calls to **`_CrtDumpMemoryLeaks`** are removed during preprocessing.
-**`_CrtDumpMemoryLeaks`** is frequently called at the end of program execution to verify that all memory allocated by the application has been freed. The function can be called automatically at program termination by turning on the **`_CRTDBG_LEAK_CHECK_DF`** bit field of the [`_crtDbgFlag`](../../c-runtime-library/crtdbgflag.md) flag using the [`_CrtSetDbgFlag`](crtsetdbgflag.md) function.
+**`_CrtDumpMemoryLeaks`** is frequently called at the end of program execution to verify that all memory allocated by the application has been freed. The function can be called automatically at program termination by turning on the **`_CRTDBG_LEAK_CHECK_DF`** bit field of the [`_crtDbgFlag`](../crtdbgflag.md) flag using the [`_CrtSetDbgFlag`](crtsetdbgflag.md) function.
**`_CrtDumpMemoryLeaks`** calls [`_CrtMemCheckpoint`](crtmemcheckpoint.md) to obtain the current state of the heap and then scans the state for blocks that haven't been freed. When an unfreed block is encountered, **`_CrtDumpMemoryLeaks`** calls [`_CrtMemDumpAllObjectsSince`](crtmemdumpallobjectssince.md) to dump information for all the objects allocated in the heap from the start of program execution.
By default, internal C run-time blocks (**`_CRT_BLOCK`**) aren't included in memory dump operations. The [`_CrtSetDbgFlag`](crtsetdbgflag.md) function can be used to turn on the **`_CRTDBG_CHECK_CRT_DF`** bit of **`_crtDbgFlag`** to include these blocks in the leak detection process.
-For more information about heap state functions and the **`_CrtMemState`** structure, see [Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details). For more information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT Debug Heap Details](/visualstudio/debugger/crt-debug-heap-details).
+For more information about heap state functions and the **`_CrtMemState`** structure, see [Heap state reporting functions](/visualstudio/debugger/crt-debug-heap-details). For more information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see [CRT debug heap details](/visualstudio/debugger/crt-debug-heap-details).
## Requirements
@@ -42,11 +42,11 @@ For more information about heap state functions and the **`_CrtMemState`** struc
|-------------|---------------------|
|**`_CrtDumpMemoryLeaks`**|``|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## Example
@@ -54,4 +54,4 @@ For a sample of how to use **`_CrtDumpMemoryLeaks`**, see [`crt_dbg1`](https://g
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
+[Debug routines](../debug-routines.md)
diff --git a/docs/c-runtime-library/reference/crtgetallochook.md b/docs/c-runtime-library/reference/crtgetallochook.md
index df324f10e7e..1625acd081a 100644
--- a/docs/c-runtime-library/reference/crtgetallochook.md
+++ b/docs/c-runtime-library/reference/crtgetallochook.md
@@ -20,7 +20,7 @@ Retrieves the current client-defined allocation function for hooking into the C
_CRT_ALLOC_HOOK _CrtGetAllocHook( void );
```
-## Return Value
+## Return value
Returns the currently defined allocation hook function.
@@ -28,7 +28,7 @@ Returns the currently defined allocation hook function.
**_CrtGetAllocHook** retrieves the current client-defined application hook function for the C run-time debug library memory allocation process.
-For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Debug Hook Function Writing](/visualstudio/debugger/debug-hook-function-writing).
+For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Debug hook function writing](/visualstudio/debugger/debug-hook-function-writing).
## Requirements
@@ -36,13 +36,13 @@ For more information about using other hook-capable run-time functions and writi
|-------------|---------------------|
|**_CrtGetAllocHook**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)
-[_CrtSetAllocHook](crtsetallochook.md)
+[Debug routines](../debug-routines.md)\
+[_CrtSetAllocHook](crtsetallochook.md)
diff --git a/docs/c-runtime-library/reference/crtgetdumpclient.md b/docs/c-runtime-library/reference/crtgetdumpclient.md
index 3207f438615..3724a7dbcca 100644
--- a/docs/c-runtime-library/reference/crtgetdumpclient.md
+++ b/docs/c-runtime-library/reference/crtgetdumpclient.md
@@ -20,7 +20,7 @@ Retrieves the current application-defined function for dumping the **_CLIENT_BLO
_CRT_DUMP_CLIENT _CrtGetDumpClient( void );
```
-## Return Value
+## Return value
Returns the current dump routine.
@@ -28,7 +28,7 @@ Returns the current dump routine.
The **_CrtGetDumpClient** function retrieves the current hook function for dumping objects stored in the **_CLIENT_BLOCK** memory blocks.
-For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Debug Hook Function Writing](/visualstudio/debugger/debug-hook-function-writing).
+For more information about using other hook-capable run-time functions and writing your own client-defined hook functions, see [Debug hook function writing](/visualstudio/debugger/debug-hook-function-writing).
## Requirements
@@ -36,14 +36,14 @@ For more information about using other hook-capable run-time functions and writi
|-------------|---------------------|
|**_CrtGetDumpClient**|\|
-For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
+For more compatibility information, see [Compatibility](../compatibility.md).
## Libraries
-Debug versions of [C run-time libraries](../../c-runtime-library/crt-library-features.md) only.
+Debug versions of [C run-time libraries](../crt-library-features.md) only.
## See also
-[Debug Routines](../../c-runtime-library/debug-routines.md)