swap bytes of a memory block
#include <stdlib.h> void swab( char *src, char *dest, int num );
The swab() function copies num bytes from src to dest, swapping every pair of characters. The num argument should be even; if it isn't, num - 1 bytes are copied. This function is useful for preparing binary data to be transferred to another machine that has a different byte ordering.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *msg = "hTsim seasegi swspaep.d";
#define NBYTES 24
int main( void )
{
char buffer[80];
printf( "%s\n", msg );
memset( buffer, '\0', 80 );
swab( msg, buffer, NBYTES );
printf( "%s\n", buffer );
return( EXIT_SUCCESS );
}
produces the output:
hTsim seasegi swspaep.d This message is swapped.
WATCOM
| Safety: | |
|---|---|
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |