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.
Prohodí bajty.
Syntaxe
void _swab(
char *src,
char *dest,
int n
);
Parametry
src
Data, která se mají zkopírovat a prohodit
dest
Umístění úložiště pro prohozená data
n
Počet bajtů, které se mají zkopírovat a prohodit
Vrácená hodnota
Funkce swab nevrací hodnotu. Funkce se nastaví errno , EINVAL pokud je hodnota src null nebo dest ukazatel je null nebo n je menší než nula a vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru.
Další informace o návratových kódech naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.
Poznámky
Pokud n ano, _swab funkce kopíruje n bajty z src, prohodí jednotlivé dvojice sousedních bajtů a uloží výsledek na dest. Pokud n je lichá, _swab zkopíruje a prohodí první nbajty src-1 a konečný bajt se nezkopíruje. Funkce _swab se obvykle používá k přípravě binárních dat pro přenos do počítače, který používá jiné pořadí bajtů.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
_swab |
C: <stdlib.h> C++: <cstdlib> nebo <stdlib.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_swab.c
#include <stdlib.h>
#include <stdio.h>
char from[] = "BADCFEHGJILKNMPORQTSVUXWZY";
char to[] = "...........................";
int main()
{
printf("Before: %s %d bytes\n %s\n\n", from, sizeof(from), to);
_swab(from, to, sizeof(from));
printf("After: %s\n %s\n\n", from, to);
}
Before: BADCFEHGJILKNMPORQTSVUXWZY 27 bytes
...........................
After: BADCFEHGJILKNMPORQTSVUXWZY
ABCDEFGHIJKLMNOPQRSTUVWXYZ.