_swab
バイトを交換します。
構文
void _swab(
char *src,
char *dest,
int n
);
パラメーター
src
コピーおよび交換されるデータ。
dest
交換したデータの格納場所。
n
コピーおよび交換対象のバイト数。
戻り値
関数は swab
値を返しません。 関数は、パラメーターの検証でsrc
説明されているように、またはdest
ポインターが null または n
0 未満の場合に設定errno
EINVAL
され、無効なパラメーター ハンドラーが呼び出されます。
リターン コードの詳細については、「errno
、_doserrno
、_sys_errlist
、および _sys_nerr
」を参照してください。
解説
n
が偶数の場合、_swab
関数は src
から n
バイトをコピーし、隣接するバイトの各ペアをスワップして、結果を dest
に格納します。 奇数の場合 n
、 _swab
最初 n
の -1 バイトをコピーしてスワップします。最後の src
バイトはコピーされません。 _swab
関数は、通常、異なるバイト順を使用するコンピューターに転送するバイナリ データを準備するときに使用されます。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_swab |
C: <stdlib.h> C++: <cstdlib> または <stdlib.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
// 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.
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示