OSDN Git Service

Update draft for LDP 3.67
[linuxjm/LDP_man-pages.git] / draft / man3 / strcat.3
index 780180d..9d5aecc 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH STRCAT 3 2012\-07\-19 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 YOSHINO Takashi
+.\"       all rights reserved.
+.\" Translated Mon Jan 20 22:47:14 JST 1997
+.\"       by YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
+.\" Updated & Modified Fri Feb 18 00:30:00 JST 2005
+.\"       by Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2007-07-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.58
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH STRCAT 3 2014\-01\-20 GNU "Linux Programmer's Manual"
 .SH 名前
 strcat, strncat \- 二つの文字列を連結する
 .SH 書式
@@ -46,8 +57,8 @@ strcat, strncat \- 二つの文字列を連結する
 \fBchar *strncat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
 .fi
 .SH 説明
-\fBstrcat\fP()  関数は、\fIdest\fP 文字列の後に \fIsrc\fP 文字列を付け加える。 その際に、\fIdest\fP の最後にある終端の
-NULL バイト (\(aq\e0\(aq)  は上書きされ、新たに生成された文字列の末尾に終端の NULL バイトが付与される。 二つの文字列
+\fBstrcat\fP()  関数は、\fIdest\fP 文字列の後に \fIsrc\fP 文字列を付け加える。 その際に、\fIdest\fP
+の最後にある終端のヌルバイト (\(aq\e0\(aq)  は上書きされ、新たに生成された文字列の末尾に終端のヌルバイトが付与される。 二つの文字列
 \fIsrc\fP と \fIdest\fP は重なってはならない。 また、文字列 \fIdest\fP は、連結後の結果を格納するのに 十分な大きさでなければならない。
 \fIdest\fP が十分な大きさでない場合、プログラムがどのような動作をするか分からない。
 バッファオーバーランはセキュアなプログラムを攻撃する際に好んで使われる方法である。
@@ -57,12 +68,12 @@ NULL バイト (\(aq\e0\(aq)  は上書きされ、新たに生成された文
 \fIsrc\fP のうち最大 \fIn\fP バイトが使用される。
 .IP *
 \fIsrc\fP が \fIn\fP バイト以上の場合、
-\fIsrc\fP は NULL 終端されている必要はない。
+\fIsrc\fP はヌル終端されている必要はない。
 .PP
-\fBstrcat\fP()  と同じく、\fIdest\fP に格納される結果の文字列は常に NULL 終端される。
+\fBstrcat\fP()  と同じく、\fIdest\fP に格納される結果の文字列は常にヌル終端される。
 .PP
 \fIsrc\fP が \fIn\fP バイト以上の場合、 \fBstrncat\fP() は \fIdest\fP に \fIn+1\fP
-バイトを書き込む (\fIsrc\fP からの \fIn\fP バイトと終端の NULL バイトである)。
+バイトを書き込む (\fIsrc\fP からの \fIn\fP バイトと終端のヌルバイトである)。
 したがって、\fIdest\fP の大きさは最低でも \fIstrlen(dest)+n+1\fP でなければ
 ならない。
 
@@ -86,6 +97,9 @@ strncat(char *dest, const char *src, size_t n)
 .in
 .SH 返り値
 \fBstrcat\fP()  関数と \fBstrncat\fP()  関数は、結果としてできる文字列 \fIdest\fP へのポインタを返す。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBstrcat\fP() と \fBstrncat\fP() はスレッドセーフである。
 .SH 準拠
 SVr4, 4.3BSD, C89, C99.
 .SH 注意
@@ -94,10 +108,10 @@ SVr4, 4.3BSD, C89, C99.
     size_t strlcat(char *dest, const char *src, size_t size);
 
 .\" https://lwn.net/Articles/506530/
-この関数は、 NULL 終端された文字列 \fIsrc\fP を文字列 \fIdest\fP に追加する。 具体例には、 \fIsize\fP が
-\fIstrlen(dest)\fP より大きい場合には最大で \fIsize\-strlen(dest)\-1\fP バイトを \fIsrc\fP からコピーし、
-結果の末尾に終端の NULL バイトを追加する。 この関数では \fBstrcat\fP() のバッファオーバーランが発生するという問題が修正されているが、
-\fIsize\fP が小さすぎた場合にはデータが失われる問題には、 依然として呼び出し側で対処する必要がある。 この関数は \fBstrlcat\fP()
+この関数は、ヌル終端された文字列 \fIsrc\fP を文字列 \fIdest\fP に追加する。 具体例には、 \fIsize\fP が \fIstrlen(dest)\fP
+より大きい場合には最大で \fIsize\-strlen(dest)\-1\fP バイトを \fIsrc\fP からコピーし、 結果の末尾に終端のヌルバイトを追加する。
+この関数では \fBstrcat\fP() のバッファオーバーランが発生するという問題が修正されているが、  \fIsize\fP
+が小さすぎた場合にはデータが失われる問題には、 依然として呼び出し側で対処する必要がある。 この関数は \fBstrlcat\fP()
 が作成しようとした文字列の長さを返す。 返り値が \fIsize\fP 以上の場合、 データロスが発生している。 データロスが問題となる場合は、
 呼び出し側で、 呼び出し前に引き数をチェックするか、 この関数の返り値を検査するかのいずれかをしなければならない。 \fBstrlcat\fP() は
 glibc には存在せず、 POSIX による標準化もされていないが、 Linux では \fIlibbsd\fP ライブラリ経由で利用できる。
@@ -105,6 +119,6 @@ glibc には存在せず、 POSIX による標準化もされていないが、
 \fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBstrcpy\fP(3), \fBstring\fP(3),
 \fBstrncpy\fP(3), \fBwcscat\fP(3), \fBwcsncat\fP(3)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。