Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ memcpy(3) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

string(3)

MEMORY(3)  —  UNIX Programmer’s Manual

名称

memccpy, memchr, memcmp, memcpy, memset − メモリ操作

形式

include <memory.h>

char ∗memccpy (s1, s2, c, n)
char ∗s1, ∗s2;
int c, n;

char ∗memchr (s, c, n)
char ∗s;
int c, n;

int memcmp (s1, s2, n)
char ∗s1, ∗s2;
int n;

char ∗memcpy (s1, s2, n)
char ∗s1, ∗s2;
int n;

char ∗memset (s, c, n)
char ∗s;
int c, n;

解説

これらの関数は、メモリ領域(ナル文字で終わらずに文字数の境界をもつ文字の配列) にできるだけ効率的に働きます。 これらは受け取り側のオーバフローについて全くチェックしません。

memccpy() は、メモリ領域 s2 から s1 へ文字をコピーし、 文字 c または h のどちらかが先にコピーされた時点でコピーを終了します。 このルーチンは、 s1 の c のコピーが終わると次のポインタを返し、 s2 の最初の n 文字以内に c がないときは NULL ポインタを返します。

memchr() は、メモリ領域 s の最初の n 文字の中に c を見つけるとそのポインタを返し、 c がないときは NULL ポインタを返します。

memcmp() は、最初の n 文字だけについて引数を比べ、 s1 が s2 より辞書的に小さ(前)いか、等しいか、大きい(後)かによって、 0 より小さい、0、0 より大きい整数値を返します。

memcpy() は、 s2 から n 文字を s1 へコピーし、 s1 を返します。

memset() は、 メモリ領域 s の最初の n 文字を文字 c の値に設定し、 s を返します。

注意事項

ユーザの便宜を計るため、 これらの関数は全てヘッダファイル <memory.h> の中で宣言しています。

関連事項

string(3)

バグ

memcmp() では、マシンに依存する固有の文字比較を使用しています。 したがって、上位ビットがセットされている時に返る値の符号は インプリメントに依存してしまいます。

文字の移動は、インプリメントごとに異なるので、 重なりの生じる移動では、思いどおりにならないかもしれません。
 

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026