_swab
Tauscht Bytes.
Syntax
void _swab(
char *src,
char *dest,
int n
);
Parameter
src
Zu kopierende und tauschende Daten.
dest
Speicherort für getauschte Daten.
n
Anzahl der zu kopierenden und tauschender Bytes.
Rückgabewert
Die swab
Funktion gibt keinen Wert zurück. Die Funktion legt fest errno
EINVAL
, ob der src
dest
Zeiger null n
oder kleiner als Null ist und der ungültige Parameterhandler aufgerufen wird, wie in der Parameterüberprüfung beschrieben.
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Wenn n
gerade ist, kopiert die _swab
-Funktion n
Bytes von src
, tauscht jedes Paar von benachbarten Bytes und speichert das Ergebnis in dest
. Wenn n
dies ungerade ist, _swab
werden die ersten n
-1 Bytes von src
, und das endgültige Byte wird nicht kopiert. Die Funktion _swab
wird normalerweise verwendet, um Binärdaten auf die Übertragung auf einen Computer vorzubereiten, der eine andere Bytereihenfolge verwendet.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_swab |
C: stdlib.h> C++: <<cstdlib> oder <stdlib.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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.