トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
メモリ上から、特定の文字を探す。 |
|
ヘッダ | ||
形式 |
void* memchr(const void* s, int c, size_t n); |
|
引数 |
s |
探索するメモリの先頭のメモリアドレス。 |
c |
探索する文字。 |
|
n |
探索する文字数。 |
|
戻り値 |
発見された場合は、メモリ上のその文字を指すポインタ。 |
|
詳細 |
引数s が指す位置を先頭として、そこから 引数n の文字数分の範囲を探索し、引数c と一致するものを探す。文字は unsigned char型であるものと解釈する。 |
|
注意 |
探索対象を表す引数s は const であるのにも関わらず、戻り値は非const のポインタである。そのため、実引数に文字列リテラルを渡した場合に、戻り値で得られたポインタを経由して文字を変更するプログラムはコンパイルが通るが、動作は未定義になる。 (C++ では、const指定の扱いが厳しくなっているため、この関数は const版と非const版にオーバーロードされている)。 |
|
使用例 |
実行結果:
|
|
関連 | ||
解説章 | 第34章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place
管理者に紹介料が支払われています。
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。
「NULL」という表記を「ヌルポインタ」に修正。
全体的に文章を見直し修正。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |