Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při vytváření aplikací pro Univerzální platformu Windows (UPW) není k dispozici mnoho funkcí modulu runtime jazyka C (CRT). Někdy jsou k dispozici alternativní řešení – například můžete použít rozhraní API prostředí Windows Runtime nebo Win32. V jiných případech byly funkce CRT zakázány, protože odpovídající funkce nebo podpůrná rozhraní API se nevztahují na aplikace pro UPW. Pokud chcete vyhledat alternativní metodu podporovanou pro prostředí Windows Runtime, přečtěte si téma Alternativy k rozhraním API pro Windows v aplikacích pro UPW.
Následující tabulka uvádí funkce CRT, které nejsou při vytváření aplikací pro UPW k dispozici. Označuje všechna alternativní řešení, která platí.
Nepodporované funkce CRT
Funkce | Popis | Řešení problému |
---|---|---|
_beep
_sleep
_seterrormode
|
Tyto funkce byly zastaralé v předchozích verzích CRT. Odpovídající rozhraní API Win32 také nejsou k dispozici pro aplikace pro UPW. | Žádné alternativní řešení. |
chdir
_chdrive
getcwd
|
Tyto funkce jsou zastaralé nebo nejsou bezpečné pro přístup z více vláken. | Používejte _chdir , _getcwd a související funkce. |
_cgets
_cgets_s
_cgetws
_cgetws_s
_cprintf
_cprintf_l
_cprintf_p
_cprintf_p_l
_cprintf_s
_cprintf_s_l
_cputs
_cputws
_cscanf
_cscanf_l
_cscanf_s
_cscanf_s_l
_cwait
_cwprintf
_cwprintf_l
_cwprintf_p
_cwprintf_p_l
_cwprintf_s
_cwprintf_s_l
_cwscanf
_cwscanf_l
_cwscanf_s
_cwscanf_s_l
_vcprintf
_vcprintf_l
_vcprintf_p
_vcprintf_p_l
_vcprintf_s
_vcprintf_s_l
_vcwprintf
_vcwprintf_l
_vcwprintf_p
_vcwprintf_p_l
_vcwprintf_s
_vcwprintf_s_l
_getch
_getch_nolock
_getche
_getche_nolock
_getwch
_getwch_nolock
_getwche
_getwche_nolock
_putch
_putch_nolock
_putwch
_putwch_nolock
_ungetch
_ungetch_nolock
_ungetwch
_ungetwch_nolock
_kbhit
kbhit
putch
cgets
cprintf
cputs
cscanf
cwait
getch
getche
ungetch
|
Tyto vstupně-výstupní funkce konzoly nejsou v aplikacích pro UPW založené na grafickém uživatelském rozhraní k dispozici. | Konzolové aplikace UPW můžou tyto funkce používat. Další informace najdete v tématu Vytvoření konzolové aplikace univerzální platformy Windows. |
getpid
_getpid
|
Tyto funkce jsou zastaralé. | Použijte rozhraní API GetCurrentProcessId Win32 . |
_getdiskfree |
Není k dispozici. | Použijte rozhraní API GetDiskFreeSpaceExW Win32 . |
_getdrive
_getdrives
|
Odpovídající rozhraní API není k dispozici pro aplikace pro UPW. | Žádné alternativní řešení. |
_inp
_inpd
_inpw
_outp
_outpd
_outpw
inp
inpd
inpw
outp
outpd
outpw
|
V aplikacích pro UWP se nepodporuje Port IO. | Žádné alternativní řešení. |
_ismbcalnum
_ismbcalnum_l
_ismbcalpha
_ismbcalpha_l
_ismbcdigit
_ismbcdigit_l
_ismbcgraph
_ismbcgraph_l
_ismbchira
_ismbchira_l
_ismbckata
_ismbckata_l
_ismbcl0
_ismbcl0_l
_ismbcl1
_ismbcl1_l
_ismbcl2
_ismbcl2_l
_ismbclegal
_ismbclegal_l
_ismbclower
_ismbclower_l
_ismbcprint
_ismbcprint_l
_ismbcpunct
_ismbcpunct_l
_ismbcspace
_ismbcspace_l
_ismbcsymbol
_ismbcsymbol_l
_ismbcupper
_ismbcupper_l
_mbbtombc
_mbbtombc_l
_mbbtype
_mbbtype_l
_mbccpy
_mbccpy_l
_mbccpy_s
_mbccpy_s_l
_mbcjistojms
_mbcjistojms_l
_mbcjmstojis
_mbcjmstojis_l
_mbclen
_mbclen_l
_mbctohira
_mbctohira_l
_mbctokata
_mbctokata_l
_mbctolower
_mbctolower_l
_mbctombb
_mbctombb_l
_mbctoupper
_mbctoupper_l
_mbsbtype
_mbsbtype_l
_mbscat
_mbscat_l
_mbscat_s
_mbscat_s_l
_mbschr
_mbschr_l
_mbscmp
_mbscmp_l
_mbscoll
_mbscoll_l
_mbscpy
_mbscpy_l
_mbscpy_s
_mbscpy_s_l
_mbscspn
_mbscspn_l
_mbsdec
_mbsdec_l
_mbsicmp
_mbsicmp_l
_mbsicoll
_mbsicoll_l
_mbsinc
_mbsinc_l
_mbslen
_mbslen_l
_mbslwr
_mbslwr_l
_mbslwr_s
_mbslwr_s_l
_mbsnbcat
_mbsnbcat_l
_mbsnbcat_s
_mbsnbcat_s_l
_mbsnbcmp
_mbsnbcmp_l
_mbsnbcnt
_mbsnbcnt_l
_mbsnbcoll
_mbsnbcoll_l
_mbsnbcpy
_mbsnbcpy_l
_mbsnbcpy_s
_mbsnbcpy_s_l
_mbsnbicmp
_mbsnbicmp_l
_mbsnbicoll
_mbsnbicoll_l
_mbsnbset
_mbsnbset_l
_mbsnbset_s
_mbsnbset_s_l
_mbsncat
_mbsncat_l
_mbsncat_s
_mbsncat_s_l
_mbsnccnt
_mbsnccnt_l
_mbsncmp
_mbsncmp_l
_mbsncoll
_mbsncoll_l
_mbsncpy
_mbsncpy_l
_mbsncpy_s
_mbsncpy_s_l
_mbsnextc
_mbsnextc_l
_mbsnicmp
_mbsnicmp_l
_mbsnicoll
_mbsnicoll_l
_mbsninc
_mbsninc_l
_mbsnlen
_mbsnlen_l
_mbsnset
_mbsnset_l
_mbsnset_s
_mbsnset_s_l
_mbspbrk
_mbspbrk_l
_mbsrchr
_mbsrchr_l
_mbsrev
_mbsrev_l
_mbsset
_mbsset_l
_mbsset_s
_mbsset_s_l
_mbsspn
_mbsspn_l
_mbsspnp
_mbsspnp_l
_mbsstr
_mbsstr_l
_mbstok
_mbstok_l
_mbstok_s
_mbstok_s_l
_mbsupr
_mbsupr_l
_mbsupr_s
_mbsupr_s_l
is_wctype
|
Vícebajtové řetězce nejsou podporovány v aplikacích pro UWP. | Místo toho používejte řetězce Unicode. |
_pclose
_pipe
_popen
_wpopen
|
Funkce kanálu není dostupná pro aplikace pro UPW. | Žádné alternativní řešení. |
_resetstkoflw |
Podporující rozhraní API Win32 nejsou dostupné pro aplikace pro UWP. | Žádné alternativní řešení. |
_getsystime
_setsystime
|
Tato rozhraní API byla zastaralá v předchozích verzích CRT. Uživatel také nemůže nastavit systémový čas v aplikaci pro UPW kvůli nedostatku oprávnění. | Chcete-li získat pouze systémový čas, použijte rozhraní API GetSystemTime Win32 . Systémový čas nelze nastavit. |
_environ
_putenv
_putenv_s
_searchenv
_searchenv_s
_dupenv_s
_wputenv
_wputenv_s
_wsearchenv Získej getenv_s putenv _wdupenv_s _wenviron _wgetenv _wgetenv_s _wsearchenv_s tzset |
Proměnné prostředí nejsou pro aplikace UWP dostupné. | Žádné alternativní řešení. K nastavení časového pásma použijte _tzset . |
_loaddll
_getdllprocaddr
_unloaddll
|
Ty byly zastaralé funkce v předchozích verzích CRT. Uživatel také nemůže načíst DLLs kromě těch ve stejném balíčku aplikace. | Použijte rozhraní API Win32 LoadPackagedLibrary , GetProcAddress a FreeLibrary k načtení a používání zabalených knihoven DLL. |
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsystem
execl
execle
execlp
execlpe
execv
execve
execvp
execvpe
spawnl
spawnle
spawnlp
spawnlpe
spawnv
spawnve
spawnvp
spawnvpe
system
|
Funkce nejsou k dispozici v aplikacích pro UPW. Aplikace pro UPW nemůže vyvolat jinou aplikaci pro UPW ani desktopovou aplikaci. | Žádné alternativní řešení. |
_heapwalk
_heapadd
_heapchk
_heapset
_heapused
|
Tyto funkce se obvykle používají k práci s haldou. Avšak odpovídající rozhraní API Win32 se v aplikacích pro UWP nepodporují. Aplikace už nemůžou vytvářet ani používat soukromé haldy. | Žádné alternativní řešení.
_heapwalk V CRT ladění je však k dispozici pouze pro účely ladění. Tyto funkce se nedají použít v aplikacích, které se nahrají do Microsoft Storu. |
V CRT pro aplikace pro UPW jsou k dispozici následující funkce. Používejte je ale jenom v případě, že nemůžete použít odpovídající rozhraní API win32 nebo prostředí Windows Runtime, například při přenosu velkých základů kódu:
Funkce | Řešení problému |
---|---|
Jednobajtové řetězcové funkce, například strcat , strcpy , strlwr a tak dále. |
Používejte aplikace pro UPW výhradně unicode, protože všechna rozhraní API Win32 a rozhraní API prostředí Windows Runtime, která jsou vystavená, používají pouze znakové sady Unicode. Funkce s jedním bajtem zůstaly pro přenos velkých základů kódu, ale jinak by se měly vyhnout. Pokud je to možné, měly by se místo toho použít odpovídající široké znakové funkce. |
Funkce vstupně-výstupních operací streamování a vstupně-výstupních operací souborů nízké úrovně, fopen například , open atd. |
Tyto funkce jsou synchronní, což se nedoporučuje pro aplikace pro UPW. V aplikacích pro UPW použijte asynchronní rozhraní API k otevření, čtení a zápisu do souborů, aby se zabránilo uzamčení vlákna uživatelského rozhraní. Příklady takových rozhraní API jsou ve třídě Windows::Storage::FileIO . |
Aplikace pro Windows 8.x Store a aplikace pro Windows Phone 8.x
V aplikacích pro Windows 8.x Store a v aplikacích pro Windows Phone 8.x nejsou dostupná jak dříve uvedená rozhraní API, tak i následující rozhraní API.
Funkce | Popis | Řešení problému |
---|---|---|
_beginthread
_beginthreadex
_endthread
_endthreadex
|
Rozhraní API Win32 s vlákny nejsou v aplikacích pro Windows 8.x Store k dispozici. | Použijte místo toho Windows Runtime Windows::System::Threading::ThreadPool nebo concurrency::task . |
_chdir
_wchdir
_getcwd
_getdcwd
_wgetcwd
_wgetdcwd
|
Koncept pracovního adresáře se nevztahuje na aplikace pro Windows 8.x Store. | Místo toho použijte úplné cesty. |
_isleadbyte_l
_ismbbalnum , _ismbbalnum_l , _ismbbalpha _ismbbalpha _ismbbalpha_l _ismbbgraph _ismbbgraph_l _ismbbkalnum _ismbbkalnum_l _ismbbkana _ismbbkana_l _ismbbkprint _ismbbkprint_l _ismbbkpunct _ismbbkpunct_l _ismbblead _ismbblead_l _ismbbprint _ismbbprint_l _ismbbpunct _ismbbpunct_l _ismbbtrail _ismbbtrail_l _ismbslead _ismbslead_l _ismbstrail _ismbstrail_l _mbsdup isleadbyte |
Vícebajtové řetězce nejsou podporovány v aplikacích Windows Store pro Windows 8.x. | Místo toho používejte řetězce Unicode. |
_tzset |
Proměnné prostředí nejsou dostupné pro aplikace z Windows 8.x Store. | Žádné alternativní řešení. |
_get_heap_handle , _heapmin |
Odpovídající rozhraní API Win32 nejsou podporována v aplikacích pro Windows 8.x Store. A aplikace už nemůžou vytvářet privátní haldy. | Žádné alternativní řešení.
_get_heap_handle V CRT ladění je však k dispozici pouze pro účely ladění. |