Compartir a través de


_swab

Intercambia los bytes.

Sintaxis

void _swab(
   char *src,
   char *dest,
   int n
);

Parámetros

src
Datos que se van a copiar e intercambiar.

dest
Ubicación de almacenamiento de los datos intercambiados.

n
Número de bytes que se van a copiar e intercambiar.

Valor devuelto

La swab función no devuelve un valor. La función establece errno en EINVAL si el src puntero o dest es null o n es menor que cero y se invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros.

Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

Si n es par, la función _swab copia n bytes de src, intercambia cada par de bytes contiguos y almacena el resultado en dest. Si n es impar, _swab copia e intercambia los primeros n-1 bytes de srcy el byte final no se copia. La función _swab se suele usar para preparar los datos binarios para transferirlos a un equipo que usa un orden de bytes diferente.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario
_swab C: <stdlib.h> C++: <cstdlib> o <stdlib.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// 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.

Consulte también

Manipulación del búfer