_swab
Inverte i byte.
Sintassi
void _swab(
char *src,
char *dest,
int n
);
Parametri
src
Dati da copiare e invertire.
dest
Posizione di archiviazione per i dati convertiti.
n
Numero di byte da copiare e invertire.
Valore restituito
La swab
funzione non restituisce un valore. La funzione imposta su errno
EINVAL
se il src
puntatore o dest
è null o n
è minore di zero e viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri.
Per altre informazioni sui codici restituiti, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Osservazioni:
Se n
è pari, la funzione _swab
copia n
byte da src
, inverte ogni coppia di byte adiacenti e archivia il risultato in dest
. Se n
è strano, _swab
copia e scambia i primi n
-1 byte di src
e il byte finale non viene copiato. La funzione _swab
viene in genere usata per preparare i dati binari per il trasferimento in un computer che usa un ordine dei byte diverso.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_swab |
C: <stdlib.h> C++: <cstdlib> o <stdlib.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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.