Freigeben über


_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_errlistund _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.

Siehe auch

Pufferbearbeitung