_swab
바이트를 교환합니다.
구문
void _swab(
char *src,
char *dest,
int n
);
매개 변수
src
복사하고 교환할 데이터입니다.
dest
교환된 데이터에 대한 스토리지 위치입니다.
n
복사되고 교환될 바이트 수입니다.
반환 값
함수는 swab
값을 반환하지 않습니다. 함수는 매개 변수 유효성 검사에 src
EINVAL
설명된 대로 포인터가 dest
null이거나 n
0보다 작고 잘못된 매개 변수 처리기가 호출되는 경우로 설정합니다errno
.
반환 코드에 대한 자세한 내용은 , , 및 를 참조하세요errno
._sys_nerr
_sys_errlist
_doserrno
설명
n
이 짝수인 경우 _swab
함수는 n
에서 src
바이트를 복사하고, 인접한 각 바이트 쌍을 교환하고, 결과를 dest
에 저장합니다. 홀수인 경우 n
첫 번째 n
-1바이트를 src
복사하고 교환하며 최종 바이트는 복사되지 _swab
않습니다. _swab
함수는 일반적으로 다른 바이트 순서를 사용하는 컴퓨터에 전송할 이진 데이터를 준비하는 데 사용됩니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_swab |
C: <stdlib.h> C++: <cstdlib> 또는 <stdlib.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// 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.