Aracılığıyla paylaş


_swab

Baytları değiştirir.

Sözdizimi

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

Parametreler

src
Kopyalanacak ve değiştirilecek veriler.

dest
Değiştirilen veriler için depolama konumu.

n
Kopyalanacak ve değiştirilecek bayt sayısı.

Dönüş değeri

swab İşlev bir değer döndürmez. İşlev, veya işaretçisi src null veya n sıfırdan küçükse olarak ayarlanır errno EINVAL ve Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır.dest

İade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

Çiftse n , _swab işlevi baytları n konumundan srckopyalar, her iki bitişik bayt çiftini değiştirir ve sonucu konumunda destdepolar. Tekse n , _swab ilk n-1 baytını srckopyalar ve değiştirir ve son bayt kopyalanır. _swab işlevi genellikle farklı bir bayt sırası kullanan bir makineye aktarım için ikili verileri hazırlamak için kullanılır.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
_swab C: <stdlib.h> C++: <cstdlib> veya <stdlib.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Ayrıca bkz.

Arabellek işleme