_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_errlist
ve _sys_nerr
.
Açıklamalar
Çiftse n
, _swab
işlevi baytları n
konumundan src
kopyalar, her iki bitişik bayt çiftini değiştirir ve sonucu konumunda dest
depolar. Tekse n
, _swab
ilk n
-1 baytını src
kopyalar 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.