swaw

Copies words (which should be even) from a source buffer to a destination buffer, swapping every two pairs of characters

Local Servers:nonblocking
Remote Servers:N/A
Classification:Other
Service:String Manipulation

Syntax

  #include <string.h>  
   
  void swaw  (  
     const void   *src,   
     void         *dst,   
     size_t        n);
  

Parameters

src
(IN) Points to the string to be transformed.
dst
(OUT) Points to the array into which to place the transformed characters.
n
(IN) Specifies the number of words to transform.

Return Values

None

Remarks

The swaw function copies n words (which should be even) from src to dst swapping every two pairs of characters. This is useful for preparing binary data to be transferred to another machine that has a different byte ordering. This function is only supported in CLIB V 4.11 or above.

Example

  #include <string.h>  
  #include <stdio.h>  
   
  char *msg = "hTsim seasegi  swspaep.d";  
  #define NBYTES 12  
   
  main()  
  {  
     auto char buffer[80];  
     printf( "%s\n", msg );  
     memset( buffer, `\0’, 80 );  
     swaw( msg, buffer, NBYTES );  
     printf( "%s\n", buffer );  
  }
  

produces the following:

  isThes mgesas  iapswd.pe  
  This message is swapped.