Compartilhar via


_swab

Troca bytes.

Sintaxe

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

Parâmetros

src
Dados a serem copiados e trocados.

dest
Local de armazenamento para os dados trocados.

n
Número de bytes a serem copiados e trocados.

Retornar valor

A swab função não retorna um valor. A função é definida errno como EINVAL se o ponteiro ou dest for nulo ou n menor que zero e o src manipulador de parâmetros inválido for chamado, conforme descrito em Validação de parâmetro.

Para obter mais informações sobre códigos de retorno, confira errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Se n for par, a função _swab copiará n bytes de src, trocará cada par de bytes adjacentes e armazenará o resultado em dest. Se n for ímpar, copia e troca os primeiros n-1 bytes do src, _swab e o byte final não é copiado. A função _swab geralmente é usada para preparar dados binários para transferência para um computador que usa uma ordem de byte diferente.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Rotina Cabeçalho necessário
_swab C: <stdlib.h> C++: <cstdlib> ou <stdlib.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

Manipulação de buffer