Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Valor retornado
A swab função não retorna um valor. A função será definida errno como se o src ponteiro or dest for nulo ou n menor que zero e o manipulador de parâmetro inválido for invocado, conforme descrito em Validação deEINVAL 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, _swab copia e troca os primeiros n-1 bytes de src, 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, confira Estado global no 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.