Udostępnij za pośrednictwem


_swab

Zamienia bajty.

Składnia

void _swab(
   char *src,
   char *dest,
   int n
);

Parametry

src
Dane do skopiowania i zamiany.

dest
Lokalizacja magazynu dla zamienionych danych.

n
Liczba bajtów do skopiowania i zamiany.

Wartość zwracana

Funkcja swab nie zwraca wartości. Funkcja ustawia wartość errno , EINVAL jeśli src wskaźnik lub dest ma wartość null lub n jest mniejszy niż zero, a wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru.

Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Uwagi

Jeśli n tak, _swab funkcja kopiuje bajty n z srcklasy , zamienia każdą parę sąsiednich bajtów i przechowuje wynik na dest. Jeśli n parametr jest nieparzysty, _swab kopiuje i zamienia pierwsze n-1 bajty src, a ostateczny bajt nie jest kopiowany. Funkcja _swab jest zwykle używana do przygotowywania danych binarnych do transferu na maszynę, która używa innej kolejności bajtów.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek
_swab C: <stdlib.h> C++: <cstdlib> lub <stdlib.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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.

Zobacz też

Manipulowanie buforem