.\" Modified Sat Jul 24 18:11:47 1993 by Rik Faith (faith@cs.unc.edu)
.\" 2007-06-15, Marc Boyer <marc.boyer@enseeiht.fr> + mtk
.\" Improve discussion of strncat().
+.\"*******************************************************************
.\"
-.\" 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
+.\" This file was generated with po4a. Translate the source file.
.\"
-.TH STRCAT 3 2011-09-28 "GNU" "Linux Programmer's Manual"
-.SH ̾Á°
-strcat, strncat \- Æó¤Ä¤Îʸ»úÎó¤òÏ¢·ë¤¹¤ë
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH STRCAT 3 2011\-09\-28 GNU "Linux Programmer's Manual"
+.SH 名前
+strcat, strncat \- 二つの文字列を連結する
+.SH 書式
.nf
-.B #include <string.h>
+\fB#include <string.h>\fP
.sp
-.BI "char *strcat(char *" dest ", const char *" src );
+\fBchar *strcat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP
.sp
-.BI "char *strncat(char *" dest ", const char *" src ", size_t " n );
+\fBchar *strncat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
.fi
-.SH ÀâÌÀ
-.BR strcat ()
-´Ø¿ô¤Ï¡¢\fIdest\fP ʸ»úÎó¤Î¸å¤Ë \fIsrc\fP ʸ»úÎó¤òÉÕ¤±²Ã¤¨¤ë¡£
-¤½¤ÎºÝ¤Ë¡¢\fIdest\fP ¤ÎºÇ¸å¤Ë¤¢¤ë½ªÃ¼¤Î NULL ¥Ð¥¤¥È (\(aq\\0\(aq)
-¤Ï¾å½ñ¤¤µ¤ì¡¢¿·¤¿¤ËÀ¸À®¤µ¤ì¤¿Ê¸»úÎó¤ÎËöÈø¤Ë½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤¬ÉÕÍ¿¤µ¤ì¤ë¡£
-Æó¤Ä¤Îʸ»úÎó \fIsrc\fP ¤È \fIdest\fP ¤Ï½Å¤Ê¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¤Þ¤¿¡¢Ê¸»úÎó \fIdest\fP ¤Ï¡¢Ï¢·ë¸å¤Î·ë²Ì¤ò³ÊǼ¤¹¤ë¤Î¤Ë
-½½Ê¬¤ÊÂ礤µ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+.SH 説明
+\fBstrcat\fP() 関数は、\fIdest\fP 文字列の後に \fIsrc\fP 文字列を付け加える。 その際に、\fIdest\fP の最後にある終端の
+NULL バイト (\(aq\e0\(aq) は上書きされ、新たに生成された文字列の末尾に終端の NULL バイトが付与される。 二つの文字列
+\fIsrc\fP と \fIdest\fP は重なってはならない。 また、文字列 \fIdest\fP は、連結後の結果を格納するのに 十分な大きさでなければならない。
.PP
-.BR strncat ()
-¤âƱÍͤÀ¤¬¡¢°Ê²¼¤ÎÅÀ¤¬°Û¤Ê¤ë¡£
+\fBstrncat\fP() も同様だが、以下の点が異なる。
.IP * 3
-\fIsrc\fP ¤Î¤¦¤ÁºÇÂç \fIn\fP ʸ»ú¤¬»ÈÍѤµ¤ì¤ë¡£
+\fIsrc\fP のうち最大 \fIn\fP 文字が使用される。
.IP *
-\fIsrc\fP ¤¬ \fIn\fP ʸ»ú°Ê¾å¤Î¾ì¹ç¡¢
-\fIsrc\fP ¤Ï NULL ½ªÃ¼¤µ¤ì¤Æ¤¤¤ëɬÍפϤʤ¤¡£
+\fIsrc\fP が \fIn\fP 文字以上の場合、 \fIsrc\fP は NULL 終端されている必要はない。
.PP
-.BR strcat ()
-¤ÈƱ¤¸¤¯¡¢\fIdest\fP ¤Ë³ÊǼ¤µ¤ì¤ë·ë²Ì¤Îʸ»úÎó¤Ï¾ï¤Ë NULL ½ªÃ¼¤µ¤ì¤ë¡£
+\fBstrcat\fP() と同じく、\fIdest\fP に格納される結果の文字列は常に NULL 終端される。
.PP
-\fIsrc\fP ¤¬ \fIn\fP ʸ»ú°Ê¾å¤Î¾ì¹ç¡¢
-.BR strncat ()
-¤Ï \fIdest\fP ¤Ë \fIn+1\fP ʸ»ú¤ò½ñ¤¹þ¤à
-(\fIsrc\fP ¤«¤é¤Î \fIn\fP ʸ»ú¤È½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤Ç¤¢¤ë)¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢\fIdest\fP ¤ÎÂ礤µ¤ÏºÇÄã¤Ç¤â
-\fIstrlen(dest)+n+1\fP ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+\fIsrc\fP が \fIn\fP 文字以上の場合、 \fBstrncat\fP() は \fIdest\fP に \fIn+1\fP 文字を書き込む (\fIsrc\fP からの
+\fIn\fP 文字と終端の NULL バイトである)。 したがって、\fIdest\fP の大きさは最低でも \fIstrlen(dest)+n+1\fP
+でなければならない。
-.BR strncat ()
-¤Î´Êñ¤Ê¼ÂÁõ¤Ï°Ê²¼¤Î¤è¤¦¤Ê´¶¤¸¤Ç¤¢¤í¤¦:
+\fBstrncat\fP() の簡単な実装は以下のような感じであろう:
.in +4n
.nf
size_t dest_len = strlen(dest);
size_t i;
- for (i = 0 ; i < n && src[i] != \(aq\\0\(aq ; i++)
+ for (i = 0 ; i < n && src[i] != \(aq\e0\(aq ; i++)
dest[dest_len + i] = src[i];
- dest[dest_len + i] = \(aq\\0\(aq;
+ dest[dest_len + i] = \(aq\e0\(aq;
return dest;
}
.fi
.in
-.SH ÊÖ¤êÃÍ
-.BR strcat ()
-´Ø¿ô¤È
-.BR strncat ()
-´Ø¿ô¤Ï¡¢·ë²Ì¤È¤·¤Æ¤Ç¤¤ëʸ»úÎó
-\fIdest\fP ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£
-.SH ½àµò
+.SH 返り値
+\fBstrcat\fP() 関数と \fBstrncat\fP() 関数は、結果としてできる文字列 \fIdest\fP へのポインタを返す。
+.SH 準拠
SVr4, 4.3BSD, C89, C99.
-.SH ´ØÏ¢¹àÌÜ
-.BR bcopy (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR strcpy (3),
-.BR string (3),
-.BR strncpy (3),
-.BR wcscat (3),
-.BR wcsncat (3)
+.SH 関連項目
+\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.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。