_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_errliste _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 srce 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.

Vedi anche

Manipolazione del buffer