OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / draft / man3 / toupper.3
index fcb3b40..7c69dc5 100644 (file)
@@ -1,4 +1,5 @@
 .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+.\" and Copyright 2014 Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
 .\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH TOUPPER 3 1993\-04\-04 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 Ueyama Rui and HIROFUMI Nishizuka
+.\"         all rights reserved.
+.\" Translated Fri Aug 29 19:47:32 JST 1997
+.\"         by Ueyama Rui <rui@campus.or.jp>
+.\"         by HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
+.\" Translated Sun Mar 12 21:42:31 JST 2000
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH TOUPPER 3 2014\-03\-18 GNU "Linux Programmer's Manual"
 .SH 名前
-toupper, tolower \- 小文字を大文字にする。または大文字を小文字にする。
+toupper, tolower, toupper_l, tolower_l \- 小文字を大文字にする。または大文字を小文字にする。
 .SH 書式
 .nf
 \fB#include <ctype.h>\fP
@@ -39,25 +49,65 @@ toupper, tolower \- 小文字を大文字にする。または大文字を小文
 \fBint toupper(int \fP\fIc\fP\fB);\fP
 .br
 \fBint tolower(int \fP\fIc\fP\fB);\fP
+
+\fBint toupper_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint tolower_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
 .fi
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.sp
+\fBtoupper_l\fP(), \fBtolower_l\fP():
+.PD 0
+.RS 4
+.TP 
+glibc 2.10 以降:
+_XOPEN_SOURCE\ >=\ 700
+.TP 
+glibc 2.10 より前:
+_GNU_SOURCE
+.RE
+.PD
 .SH 説明
-\fBtoupper\fP()  は、 \fIc\fP が大文字にできる文字であるならば大文字に変換する。
-.PP
-\fBtolower\fP()  は \fIc\fP が小文字にできる文字であるならば小文字に変換する。
+これらの関数は、小文字を大文字に、もしくは大文字を小文字に変換する。
+
+\fIc\fP が小文字の場合、現在のロケールで大文字表現が存在する場合、 \fBtoupper\fP()
+は対応する大文字を返す。大文字表現が存在しない場合、\fIc\fP を返す。 \fBtoupper_l\fP() 関数は同じ動作をするが、ロケールハンドル
+\fIlocale\fP が参照するロケールを使って変換を行う。
+
+\fIc\fP が大文字の場合、現在のロケールで小文字表現が存在する場合、 \fBtolower\fP()
+は対応する小文字を返す。小文字表現が存在しない場合、\fIc\fP を返す。 \fBtolower_l\fP() 関数は同じ動作をするが、ロケールハンドル
+\fIlocale\fP が参照するロケールを使って変換を行う。
 .PP
-もし \fIc\fP が \fIunsigned char\fP の値でないか \fBEOF\fP ならば、これらの関数の動作は未定義である。
+もし \fIc\fP が \fIunsigned char\fP 値でも \fBEOF\fP でもない場合、これらの関数の動作は未定義である。
+
+\fIlocale\fP が特別なロケールオブジェクト \fBLC_GLOBAL_LOCALE\fP の場合 (\fBduplocale\fP(3) 参照)、または
+\fIlocale\fP が有効なロケールオブジェクトハンドルでない場合、 \fBtoupper_l\fP() と \fBtolower_l\fP()
+の動作は未定義である。
 .SH 返り値
 変換ができれば変換後の文字を返す。できなければ変換前の \fIc\fP を返す。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+.\" FIXME . Add toupper_l() and tolower_l()
+関数 \fBtoupper\fP() と \fBtolower\fP() は、例外付きのスレッドセーフである。実行中に \fBsetlocale\fP(3)
+を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。
 .SH 準拠
-C89, C99, 4.3BSD.
-.SH バグ
-なにが大文字でなにが小文字なのかということの詳細は、現在のロケールに 依存している。たとえば、デフォルトの \fB"C"\fP
+\fBtoupper\fP(), \fBtolower\fP(): C89, C99, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008.
+
+\fBtoupper_l\fP(), \fBtolower_l\fP(): POSIX.1\-2008.
+.SH 注意
+なにが大文字でなにが小文字なのかということの詳細は、ロケールに依存している。たとえば、デフォルトの \fB"C"\fP
 ロケールではウムラウトを認識しないため、それらの文字は変換できない。
 .PP
+.\" FIXME One day the statement about "sharp s" needs to be reworked,
+.\" since there is nowadays a capital "sharp s" that has a codepoint
+.\" in Unicode 5.0; see https://en.wikipedia.org/wiki/Capital_%E1%BA%9E
 いくつかの非英語ロケールでは、対応する大文字を持たない小文字が存在する。 ドイツ語のエスツェットが一つの例である。
 .SH 関連項目
-\fBisalpha\fP(3), \fBsetlocale\fP(3), \fBtowlower\fP(3), \fBtowupper\fP(3), \fBlocale\fP(7)
+\fBisalpha\fP(3), \fBnewlocale\fP(3), \fBsetlocale\fP(3), \fBuselocale\fP(3),
+\fBtowlower\fP(3), \fBtowupper\fP(3), \fBlocale\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。