Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Swaps bytes.
Syntax
void _swab(
char *src,
char *dest,
int n
);
Parameters
src
Data to be copied and swapped.
dest
Storage location for swapped data.
n
Number of bytes to be copied and swapped.
Return value
The swab function doesn't return a value. The function sets errno to EINVAL if either the src or dest pointer is null or n is less than zero, and the invalid parameter handler is invoked, as described in Parameter validation.
For more information about return codes, see errno, _doserrno, _sys_errlist, and _sys_nerr.
Remarks
If n is even, the _swab function copies n bytes from src, swaps each pair of adjacent bytes, and stores the result at dest. If n is odd, _swab copies and swaps the first n-1 bytes of src, and the final byte isn't copied. The _swab function is typically used to prepare binary data for transfer to a machine that uses a different byte order.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Requirements
| Routine | Required header |
|---|---|
_swab |
C: <stdlib.h> C++: <cstdlib> or <stdlib.h> |
For more compatibility information, see Compatibility.
Example
// 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.