スレッド・グループに属すスレッドの一つが \fBfork\fP(2) を使って子プロセスを作成した場合、 スレッド・グループのどのスレッドであっても
その子供を \fBwait\fP(2) できる。
-Since Linux 2.5.35, \fIflags\fP must also include \fBCLONE_SIGHAND\fP if
-\fBCLONE_THREAD\fP is specified (and note that, since Linux 2.6.0\-test6,
-\fBCLONE_SIGHAND\fP also requires \fBCLONE_VM\fP to be included).
+Linux 2.5.35 以降では、 \fBCLONE_THREAD\fP を指定する場合、 \fIflags\fP に \fBCLONE_SIGHAND\fP
+も含まれていなければならない (Linux 2.6.0\-test6 以降では、 \fBCLONE_SIGHAND\fP を指定する場合 \fBCLONE_VM\fP
+も指定する必要がある点に注意すること)。
\fBkill\fP(2) を使ってスレッド・グループ全体 (つまり TGID) にシグナルを送ることもできれば、 \fBtgkill\fP(2)
を使って特定のスレッド (つまり TID) にシグナルを送ることもできる。
\fBepoll_wait\fP() によって返される。
\fImaxevents\fP 引き数は 0 より大きくなければならない。
-The \fItimeout\fP argument specifies the number of milliseconds that
-\fBepoll_wait\fP() will block. The call will block until either:
+\fItimeout\fP 引き数は \fBepoll_wait\fP() が停止する時間をミリ秒で指定する。 \fBepoll_wait\fP()
+の呼び出しは以下のいずれかになるまで停止する。
.IP * 3
-a file descriptor delivers an event;
+ファイルディスクリプタがイベントを配送した
.IP *
-the call is interrupted by a signal handler; or
+呼び出しがシグナルハンドラーにより割り込まれた
.IP *
-the timout expires.
+タイムアウトが満了した
.PP
-Note that the \fItimeout\fP interval will be rounded up to the system clock
-granularity, and kernel scheduling delays mean that the blocking interval
-may overrun by a small amount. Specifying a \fItimeout\fP of \-1 causes
-\fBepoll_wait\fP() to block indefinitely, while specifying a \fItimeout\fP equal
-to zero cause \fBepoll_wait\fP() to return immediately, even if no events are
-available.
+\fItimeout\fP 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に注意すること。
+\fItimeout\fP を \-1 に指定すると、 \fBepoll_wait\fP() は無限に停止する。 \fItimeout\fP を 0 に指定すると、
+\fBepoll_wait\fP() は利用可能なイベントがなくても、すぐに返る。
\fIstruct epoll_event\fP は以下のように定義される:
.sp
かつ呼び出し者に特権がない (Linux では \fBCAP_SYS_ADMIN\fP ケーパビリティがない)。
.TP
\fBEPERM\fP
-An attempt (\fBIPC_SET\fP) was made to increase \fImsg_qbytes\fP beyond the
-system parameter \fBMSGMNB\fP, but the caller is not privileged (Linux: does
-not have the \fBCAP_SYS_RESOURCE\fP capability).
+\fBIPC_SET\fP で \fImsg_qbytes\fP をシステムパラメーター \fBMSGMNB\fP
+より大きな値に設定しようとしたが、呼び出し元が特権を持っていなかった (Linux では、 \fBCAP_SYS_RESOURCE\fP
+ケーパビリティを持っていなかった)。
.SH 準拠
.\" SVID does not document the EIDRM error condition.
SVr4, POSIX.1\-2001.
簡単にあるファイルディスクリプタを無視することができる。
単に \fIfd\fP フィールドの符号を反転するだけでよい。)
-The field \fIevents\fP is an input parameter, a bit mask specifying the events
-the application is interested in for the file descriptor \fIfd\fP. This field
-may be specified as zero, in which case the only events that can be returned
-in \fIrevents\fP are \fBPOLLHUP\fP, \fBPOLLERR\fP, and \fBPOLLNVAL\fP (see below).
+構造体の \fIevents\fP 要素は入力パラメータで、 ファイルディスクリプタ \fIfd\fP に関して、
+アプリケーションが興味を持っているイベントのビットマスクを指定する。 このフィールドには 0 を指定することもでき、 その場合 \fIrevents\fP
+で返されるイベントは \fBPOLLHUP\fP, \fBPOLLERR\fP, \fBPOLLNVAL\fP だけである (下記参照)。
\fIrevents\fP 要素は出力パラメータで、実際に起こったイベントがカーネルにより設定される。 \fIrevents\fP で返されるビット列には、
\fIevents\fP で指定したもののどれか、もしくは \fBPOLLERR\fP, \fBPOLLHUP\fP, \fBPOLLNVAL\fP のうちの一つが含まれる
どのファイルディスクリプタにも要求したイベントが発生しておらず、 エラーも起こらない場合、 \fBpoll\fP()
はイベントのうちいずれか一つが発生するまで停止 (block) する。
-The \fItimeout\fP argument specifies the number of milliseconds that \fBpoll\fP()
-should block waiting for a file descriptor to become ready. The call will
-block until either:
+\fItimeout\fP 引き数は、 ファイルディスクリプタが利用可能になるまで \fBpoll\fP() が停止する時間をミリ秒で指定する。 \fBpoll\fP()
+の呼び出しは以下のいずれかになるまで停止する。
.IP * 3
-a file descriptor becomes ready;
+ファイルディスクリプタが利用可能になる
.IP *
-the call is interrupted by a signal handler; or
+呼び出しがシグナルハンドラーにより割り込まれた
.IP *
-the timeout expires.
+タイムアウトが満了する
.PP
-Note that the \fItimeout\fP interval will be rounded up to the system clock
-granularity, and kernel scheduling delays mean that the blocking interval
-may overrun by a small amount. Specifying a negative value in \fItimeout\fP
-means an infinite timeout. Specifying a \fItimeout\fP of zero causes \fBpoll\fP()
-to return immediately, even if no file descriptors are ready.
+\fItimeout\fP 時間はシステムクロックの粒度に切り上げられ、 カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に注意すること。
+\fItimeout\fP に負の値を指定した場合、タイムアウト時間が無限大を意味する。 \fItimeout\fP を 0 に指定した場合、I/O
+可能なファイルディスクリプタがない場合であっても、 \fBpoll\fP() はすぐに返る。
\fIevents\fP に指定したり、 \fIrevents\fP で返されるビットは \fI<poll.h>\fP で定義されている:
.RS
.ad l
.RS 4
.TP 4
-Since glibc 2.10:
+glibc 2.10 以降:
_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
.TP
-Before glibc 2.10:
+glibc 2.10 より前:
_ATFILE_SOURCE
.RE
.PD
.ad
.SH 説明
.PP
-These functions return information about a file, in the buffer pointed to by
-\fIstat\fP. No permissions are required on the file itself, but\(emin the case
-of \fBstat\fP(), \fBfstatat\fP(), and \fBlstat\fP()\(emexecute (search) permission is
-required on all of the directories in \fIpathname\fP that lead to the file.
+これらの関数は、ファイルについての情報を \fIstat\fP が指すバッファに格納して返す。 ファイルそのものに対するアクセス許可は必要としないが、
+\(em\fBstat\fP(), \fBfstatat\fP(), \fBlstat\fP() の場合には \(emそのファイルへ至る \fIpathname\fP
+を構成する全てのディレクトリに対する実行 (検索) 許可が必要である。
.PP
\fBstat\fP() and \fBfstatat\fP() retrieve information about the file pointed to
by \fIpathname\fP; the differences for \fBfstatat\fP() are described below.
-\fBlstat\fP() is identical to \fBstat\fP(), except that if \fIpathname\fP is a
-symbolic link, then it returns information about the link itself, not the
-file that it refers to.
+\fBlstat\fP() は \fBstat\fP() と同じであるが、 \fIpathnames\fP
+がシンボリックリンクの場合、リンクが参照しているファイルではなく、 リンク自身の状態を返す点が異なる。
-\fBfstat\fP() is identical to \fBstat\fP(), except that the file about which
-informat is to be retrieved is specified by the file descriptor \fIfd\fP.
+\fBfstat\fP() は \fBstat\fP() と同じだが、 状態を取得するファイルをファイルディスクリプタ \fIfd\fP で指定する点が異なる。
.PP
これらのシステムコールはいずれも、結果を \fIstat\fP 構造体に入れて返す。 \fIstat\fP 構造体には以下のフィールドが含まれている:
.PP
.in +4n
.nf
struct stat {
- dev_t st_dev; /* ID of device containing file */
- ino_t st_ino; /* inode number */
- mode_t st_mode; /* protection */
- nlink_t st_nlink; /* number of hard links */
- uid_t st_uid; /* user ID of owner */
- gid_t st_gid; /* group ID of owner */
- dev_t st_rdev; /* device ID (if special file) */
- off_t st_size; /* total size, in bytes */
- blksize_t st_blksize; /* blocksize for filesystem I/O */
- blkcnt_t st_blocks; /* number of 512B blocks allocated */
+ dev_t st_dev; /* ファイルがあるデバイスの ID */
+ ino_t st_ino; /* inode 番号 */
+ mode_t st_mode; /* アクセス保護 */
+ nlink_t st_nlink; /* ハードリンクの数 */
+ uid_t st_uid; /* 所有者のユーザ ID */
+ gid_t st_gid; /* 所有者のグループ ID */
+ dev_t st_rdev; /* デバイス ID (特殊ファイルの場合) */
+ off_t st_size; /* 全体のサイズ (バイト単位) */
+ blksize_t st_blksize; /* ファイルシステム I/O での
+ ブロックサイズ */
+ blkcnt_t st_blocks; /* 割り当てられた 512B のブロック数 */
+};
/* Since Linux 2.6, the kernel supports nanosecond
precision for the following timestamp fields.
For the details before Linux 2.6, see NOTES. */
- struct timespec st_atim; /* time of last access */
- struct timespec st_mtim; /* time of last modification */
- struct timespec st_ctim; /* time of last status change */
+ struct timespec st_atim; /* 最終アクセス時刻 */
+ struct timespec st_mtim; /* 最終修正時刻 */
+ struct timespec st_ctim; /* 最終状態変更時刻 */
#define st_atime st_atim.tv_sec /* Backward compatibility */
#define st_mtime st_mtim.tv_sec
If \fIpathname\fP is absolute, then \fIdirfd\fP is ignored.
-\fIflags\fP can either be 0, or include one or more of the following flags
-ORed:
+この \fIflags\fP 引き数は下記のフラグの 0 個以上の論理和を取ったものである:
.TP
\fBAT_EMPTY_PATH\fP (Linux 2.6.39 以降)
.\" commit 65cfc6722361570bfe255698d9cd4dccaf47570d
\fIdirfd\fP が有効なファイルディスクリプタでない。
.TP
\fBEINVAL\fP
-Invalid flag specified in \fIflags\fP.
+\fIflags\fP に無効なフラグが指定された。
.TP
\fBENOTDIR\fP
\fIpathname\fP is relative and \fIdirfd\fP is a file descriptor referring to a
file other than a directory.
.SH バージョン
-\fBfstatat\fP() was added to Linux in kernel 2.6.16; library support was added
-to glibc in version 2.4.
+\fBfstatat\fP() はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
+に追加された。
.SH 準拠
.\" SVr4 documents additional
.\" .BR fstat ()
\fI/proc\fP ディレクトリ以下にあるファイルのほとんどでは、 \fBstat\fP() を呼び出した際に、 \fIst_size\fP
フィールドにファイルサイズが返されない。 代わりに \fIst_size\fP フィールドには 0 が返される。
-.SS "Timestamp fields"
+.SS タイムスタンプフィールド
Older kernels and older standards did not support nanosecond timestamp
fields. Instead, there were three timestamp fields\(em\fIst_atime\fP,
\fIst_mtime\fP, and \fIst_ctime\fP\(emtyped as \fItime_t\fP that recorded timestamps
with one\-second precision.
-Since kernel 2.5.48, the \fIstat\fP structure supports nanosecond resolution
-for the three file timestamp fields. The nanosecond components of each
-timestamp are available via names of the form \fIst_atim.tv_nsec\fP if the
-\fB_BSD_SOURCE\fP or \fB_SVID_SOURCE\fP feature test macro is defined. Nanosecond
-timestamps are nowadays standardized, starting with POSIX.1\-2008, and,
-starting with version 2.12, glibc also exposes the nanosecond component
-names if \fB_POSIX_C_SOURCE\fP is defined with the value 200809L or greater, or
-\fB_XOPEN_SOURCE\fP is defined with the value 700 or greater. If none of the
-aforementioned macros are defined, then the nanosecond values are exposed
-with names of the form \fIst_atimensec\fP.
+カーネル 2.5.48 以降では、 \fIstat\fP 構造体は 3 つのファイルのタイムスタンプ関連のフィールドでナノ秒単位の精度に対応している。
+機能検査マクロ \fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が定義された場合に、各タイムスタンプのナノ秒の情報は
+\fIst_atim.tv_nsec\fP という形式の名前で参照できる。 ナノ秒のタイムスタンプは現在では標準化されており、 POSIX.1\-2008
+からである。 バージョン 2.12 以降の glibc では、 \fB_POSIX_C_SOURCE\fP が 200809L 以上の値で定義されるか、
+\fB_XOPEN_SOURCE\fP が 700 以上の値で定義された場合にも、 このナノ秒のタイムスタンプが公開される。
+上記のマクロのいずれも定義されていない場合、ナノ秒の値は \fIst_atimensec\fP という形式の名前で公開される。
.\" commit ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80
Nanosecond timestamps are supported on XFS, JFS, Btrfs, and ext4 (since
具体的には、カーネルが提供しているシステムコールのうち最新のバージョンを 起動し、古いバイナリの場合には必要に応じて返された情報を再構成
(repack) する。 \fBfstat\fP() と \fBlstat\fP() についても同様である。
-The underlying system call employed by the glibc \fBfstatat\fP() wrapper
-function is actually called \fBfstatat64\fP().
+glibc の \fBfstatat\fP() ラッパー関数が内部で利用するシステムコールは、実際には \fBfstatat64\fP() である。
.SH 例
以下のプログラムは \fBstat\fP() を呼び出し、返ってきた \fIstat\fP 構造体のフィールドのいくつかを表示する。
.nf
\fItarget\fP がユーザアドレス空間の外を指している。
.TP
\fBEINVAL\fP
-\fItarget\fP is not a mount point.
+\fItarget\fP がマウントポイントではない。
.TP
\fBEINVAL\fP
-\fBumount2\fP() was called with \fBMNT_EXPIRE\fP and either \fBMNT_DETACH\fP or
-\fBMNT_FORCE\fP.
+\fBMNT_EXPIRE\fP が指定された \fBumount2\fP() で、 \fBMNT_DETACH\fP か \fBMNT_FORCE\fP が同時に指定された。
.TP
-\fBEINVAL\fP (since Linux 2.6.34)
-\fBumount2\fP() was called with an invalid flag value in \fIflags\fP.
+\fBEINVAL\fP (Linux 2.6.34 以降)
+\fIflags\fP に無効なフラグが指定されて \fBumount2\fP() が呼び出された。
.TP
\fBENAMETOOLONG\fP
パス名の長さが \fBMAXPATHLEN\fP より長かった。
4.4BSD.
.SH バグ
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=15838
-All of the APIs described in this man page are not safe when compiling a
-program using the LFS APIs on 32\-bit systems (e.g., when compiling with
-\fI\-D_FILE_OFFSET_BITS=64\fP).
+このマニュアルページで説明した API はいずれも、 LFS API を使うプログラムを 32 ビットシステムでコンパイルする場合
+(例えば、\fI\-D_FILE_OFFSET_BITS=64\fP でコンパイルする場合など)、安全ではない。
.\" The following statement is years old, and seems no closer to
.\" being true -- mtk
\fBftw\fP() と同じである。 \fItypeflag\fP には、 \fBftw\fP() で取り得る値のいずれか、または以下の値のいずれかが渡される:
.TP
\fBFTW_DP\fP
-\fIfpath\fP is a directory, and \fBFTW_DEPTH\fP was specified in \fIflags\fP. (If
-\fBFTW_DEPTH\fP was not specified in \fIflags\fP, then directories will always be
-visited with \fItypeflag\fP set to \fBFTW_D\fP.) All of the files and
-subdirectories within \fIfpath\fP have been processed.
+\fIfpath\fP がディレクトリで、かつ \fIflags\fP で \fBFTW_DEPTH\fP が指定されていた (\fBFTW_DEPTH\fP が
+\fIflags\fP に指定されていなかった場合、 ディレクトリに対しては常に \fItypeflag\fP が \fBFTW_D\fP で \fIfn\fP()
+が呼び出される)。 \fIfpath\fP 配下のファイルとサブディレクトリは全て処理が終わっている。
.TP
\fBFTW_SL\fP
.\" To obtain the definition of this constant from
.TP
\fBEOVERFLOW\fP
いくつかの値が大き過ぎて、返り値の構造体で表現できない。
-.SH ATTRIBUTES
-.SS "Multithreading (see pthreads(7))"
-The \fBstatvfs\fP() and \fBfstatvfs\fP() functions are thread\-safe.
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBstatvfs\fP() と \fBfstatvfs\fP()はスレッドセーフである。
.SH 準拠
POSIX.1\-2001.
.SH 注意
--- /dev/null
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Sun Jul 25 10:54:31 1993, Rik Faith (faith@cs.unc.edu)
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 YOSHINO Takashi
+.\" all rights reserved.
+.\" Translated Mon Jan 20 18:57:06 JST 1997
+.\" by YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
+.\"
+.TH STRING 3 2014\-01\-04 "" "Linux Programmer's Manual"
+.SH 名前
+stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn,
+strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk,
+strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex \- 文字列を操作する関数
+.SH 書式
+\fB#include <strings.h>\fP
+.TP
+\fBint strcasecmp(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB);\fP
+文字列 \fIs1\fP と \fIs2\fP を大文字小文字の違いを無視して比較する。
+.TP
+\fBint strncasecmp(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB, size_t \fP\fIn\fP\fB);\fP
+文字列 \fIs1\fP と \fIs2\fP の最初の \fIn\fP 文字を、大文字小文字の違いを無視して比較する。
+.TP
+\fBchar *index(const char *\fP\fIs\fP\fB, int \fP\fIc\fP\fB);\fP
+文字列 \fIs\fP 中に最初に文字 \fIc\fP が 現れた位置へのポインタを返す。
+.TP
+\fBchar *rindex(const char *\fP\fIs\fP\fB, int \fP\fIc\fP\fB);\fP
+文字列 \fIs\fP 中に最後に文字 \fIc\fP が 現れた位置へのポインタを返す。
+.TP
+\fB#include <string.h>\fP
+.TP
+\fBchar *stpcpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP
+文字列を \fIsrc\fP から \fIdest\fP にコピーし、 \fIdest\fP に格納された文字列の末尾へのポインターを返す。
+.TP
+\fBchar *strcat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP
+文字列 \fIsrc\fP を文字列 \fIdest\fP に追加し、 \fIdest\fP へのポインターを返す。
+.TP
+\fBchar *strchr(const char *\fP\fIs\fP\fB, int \fP\fIc\fP\fB);\fP
+文字列 \fIs\fP 中に最初に文字 \fIc\fP が 現れた位置へのポインタを返す。
+.TP
+\fBint strcmp(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB);\fP
+文字列 \fIs1\fP と \fIs2\fP を比較する。
+.TP
+\fBint strcoll(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB);\fP
+現在のロケールを使用して、文字列 \fIs1\fP を \fIs2\fP と比較する
+.TP
+\fBchar *strcpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP
+文字列 \fIsrc\fP を \fIdest\fP にコピーし、 \fIdest\fP の先頭へのポインタを返す。
+.TP
+\fBsize_t strcspn(const char *\fP\fIs\fP\fB, const char *\fP\fIreject\fP\fB);\fP
+文字列 \fIs\fP の、文字列 \fIreject\fP に含まれないバイトだけで構成される最初の部分文字列の長さを計算する。
+.TP
+\fBchar *strdup(const char *\fP\fIs\fP\fB);\fP
+文字列 \fIs\fP を、\fBmalloc\fP(3) を使って確保したメモリに複製して返す。
+.TP
+\fBchar *strfry(char *\fP\fIstring\fP\fB);\fP
+\fIstring\fP 中の文字をランダムに並び替える。
+.TP
+\fBsize_t strlen(const char *\fP\fIs\fP\fB);\fP
+文字列 \fIs\fP の長さを返す。
+.TP
+\fBchar *strncat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
+文字列 \fIsrc\fP の最大 \fIn\fP 文字を文字列 \fIdest\fP に追加し、\fIdest\fP へのポインターを返す。
+.TP
+\fBint strncmp(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB, size_t \fP\fIn\fP\fB);\fP
+文字列 \fIs1\fP と \fIs2\fP を最大 \fIn\fP バイトまで比較する。
+.TP
+\fBchar *strncpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
+文字列 \fIsrc\fP から \fIdest\fP へ最大 \fIn\fP バイトをコピーし、 \fIdest\fP の先頭へのポインターを返す。
+.TP
+\fBchar *strpbrk(const char *\fP\fIs\fP\fB, const char *\fP\fIaccept\fP\fB);\fP
+文字列 \fIaccept\fP に含まれるバイトのいずれかが、文字列 \fIs\fP 内で最初に現れる位置を特定する。
+.TP
+\fBchar *strrchr(const char *\fP\fIs\fP\fB, int \fP\fIc\fP\fB);\fP
+文字列 \fIs\fP 中に最後に文字 \fIc\fP が 現れた位置へのポインタを返す。
+.TP
+\fBchar *strsep(char **\fP\fIstringp\fP\fB, const char *\fP\fIdelim\fP\fB);\fP
+文字列 \fIs\fP から、\fIdelim\fP のいずれかのバイトで区切った最初のトークンを取り出す。
+.TP
+\fBsize_t strspn(const char *\fP\fIs\fP\fB, const char *\fP\fIaccept\fP\fB);\fP
+文字列 \fIs\fP 中の \fIaccept\fP に含まれる文字だけで構成される最初の部分文字列の長さを計算する。
+.TP
+\fBchar *strstr(const char *\fP\fIhaystack\fP\fB, const char *\fP\fIneedle\fP\fB);\fP
+部分文字列 \fIneedle\fP が文字列 \fIhaystack\fP 中 で最初に現れる位置を探し、その部分文字列へのポインターを返す。
+.TP
+\fBchar *strtok(char *\fP\fIs\fP\fB, const char *\fP\fIdelim\fP\fB);\fP
+文字列 \fIs\fP から、\fIdelim\fP のいずれかのバイトで区切ったトークンを取り出す。
+.TP
+\fBsize_t strxfrm(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
+\fIsrc\fP を現在のロケールに変換し、最初の \fIn\fP 文字を \fIdest\fP にコピーする。
+.SH 説明
+文字列関数は、NULL 終端された文字列に 対して、文字列操作を実行する。 それぞれの関数の説明については個々のmanページを見よ。
+.SH 関連項目
+\fBindex\fP(3), \fBrindex\fP(3), \fBstpcpy\fP(3), \fBstrcasecmp\fP(3), \fBstrcat\fP(3),
+\fBstrchr\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), \fBstrcpy\fP(3), \fBstrcspn\fP(3),
+\fBstrdup\fP(3), \fBstrfry\fP(3), \fBstrlen\fP(3), \fBstrncasecmp\fP(3), \fBstrncat\fP(3),
+\fBstrncmp\fP(3), \fBstrncpy\fP(3), \fBstrpbrk\fP(3), \fBstrrchr\fP(3), \fBstrsep\fP(3),
+\fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3), \fBstrxfrm\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。