.\" the American National Standards Committee X3, on Information
.\" Processing Systems.
.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
.\"
.\" @(#)strtod.3 5.3 (Berkeley) 6/29/91
.\"
.\" (michael@cantor.informatik.rwth-aachen.de)
.\" Added strof, strtold, aeb, 2001-06-07
.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
.\" Japanese Version Copyright (c) 1998-1999
.\" Michihide Hotta and NAKANO Takeo all rights reserved.
.\" Translated Fri Jun 26 1998 by Yasushi Shoji <yashi@yashi.com>
.\" Updated & Modified 2006-07-20,
.\" Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.36
.\"
-.TH STRTOD 3 2010-00-20 "Linux" "Linux Programmer's Manual"
+.TH STRTOD 3 2014\-08\-19 Linux "Linux Programmer's Manual"
.SH 名前
strtod, strtof, strtold \- ASCII 文字列を浮動小数点実数に変換する
.SH 書式
-.B #include <stdlib.h>
+\fB#include <stdlib.h>\fP
.sp
-.BI "double strtod(const char *" nptr ", char **" endptr );
+\fBdouble strtod(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB);\fP
.br
-.BI "float strtof(const char *" nptr ", char **" endptr );
+\fBfloat strtof(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB);\fP
.br
-.BI "long double strtold(const char *" nptr ", char **" endptr );
+\fBlong double strtold(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB);\fP
.sp
.in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
.in
.ad l
.sp
-.BR strtof (),
-.BR strtold ():
+\fBstrtof\fP(), \fBstrtold\fP():
.RS 4
-_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
-_POSIX_C_SOURCE\ >=\ 200112L;
+_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L;
.br
-or
-.I cc\ -std=c99
+または \fIcc\ \-std=c99\fP
.RE
-.ad l
+.ad
.SH 説明
-.BR strtod (),
-.BR strtof (),
-.BR strtold ()
-関数は、
-.I nptr
-が指し示す文字列のはじめの部分を
-.IR double ,
-.IR float ,
-.I long double
-型の値にそれぞれ変換する。
+\fBstrtod\fP(), \fBstrtof\fP(), \fBstrtold\fP() 関数は、 \fInptr\fP が指し示す文字列のはじめの部分を
+\fIdouble\fP, \fIfloat\fP, \fIlong double\fP 型の値にそれぞれ変換する。
-入力する文字列 (の先頭部分) は以下の形式が期待されている。
-先頭にホワイトスペース、
-次にプラス (\(aq+\(aq) またはマイナス (\(aq\-\(aq) の記号、
-その後に (i) 10 進数、(ii) 16 進数、(iii) 無限、
-(iv) NAN (計算できない数、not-a-number) のいずれかがある
-(ホワイトスペース、符号は省略可能。
-ホワイトスペースは
-.BR isspace (3)
+入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトスペース、 次にプラス (\(aq+\(aq) またはマイナス
+(\(aq\-\(aq) の記号、 その後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN
+(計算できない数、not\-a\-number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペースは \fBisspace\fP(3)
で識別される)。
.LP
-.I "10 進数"
-は 1 文字以上の 10 進の数字の列からなり、
-基を表す文字 (radix charater)
-(小数点。ロケールに依存するが、通常は \(aq.\(aq) が含まれることもある。
-この後に 10 進の指数部が続いても良い。
-10 進の指数部は \(aqE\(aq または \(aqe\(aq と、その後に置かれる正負記号 (省略可)、
-およびその後に続く 1 文字以上の 10 進の数字の列からなり、
-10 の何乗であるかを表す。
+\fI10 進数\fP は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix charater)
+(小数点。ロケールに依存するが、通常は \(aq.\(aq) が含まれることもある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は
+\(aqE\(aq または \(aqe\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続く 1 文字以上の 10
+進の数字の列からなり、 10 の何乗であるかを表す。
.LP
-.I "16 進数"
-は、"0x" または "0X" とその後に続く 1 文字以上の 16 進の数字の列からなり、
-基を表す文字が含まれることもある。
-この後に 2 進の指数部が続いても良い。
-2 進の指数部は \(aqP\(aq または \(aqp\(aq と、その後に置かれる正負記号 (省略可)、
-およびその後に続く 1 文字以上の 10 進の数字の列から構成され、
-2 の何乗であるかを表す。
-基を表す文字と 2 進の指数部は、どちらか一方しか存在してはならない。
+\fI16 進数\fP は、"0x" または "0X" とその後に続く 1 文字以上の 16 進の数字の列からなり、 基を表す文字が含まれることもある。
+この後に 2 進の指数部が続いても良い。 2 進の指数部は \(aqP\(aq または \(aqp\(aq と、その後に置かれる正負記号 (省略可)、
+およびその後に続く 1 文字以上の 10 進の数字の列から構成され、 2 の何乗であるかを表す。 基を表す文字と 2
+進の指数部は、どちらか一方しか存在してはならない。
.LP
-.I 無限
-は "INF" または "INFINITY" で表され、大文字小文字は区別されない。
+\fI無限\fP は "INF" または "INFINITY" で表され、大文字小文字は区別されない。
.LP
-.I NAN
-は "NAN" (大文字小文字は区別されない) で表され、
-その後に \(aq(\(aq 文字列 \(aq)\(aq が続く場合もある。
-この文字列は実装に依存する NAN を指定する。
-.\" From glibc 2.8's stdlib/strtod_l.c:
-.\" We expect it to be a number which is put in the
-.\" mantissa of the number.
+\fINAN\fP は "NAN" (大文字小文字は区別されない) で表され、 その後に文字列 \fI(n\-char\-sequence)\fP が続く場合もある。
+\fI(n\-char\-sequence)\fP は実装に依存する NAN の型を指定する。
.SH 返り値
これらの関数は、変換された値があれば、それを返す。
-.I endptr
-が NULL でないときは、変換に使われた最終文字の次の文字へのポインターが
-.I endptr
-で参照される場所へ保存される。
+\fIendptr\fP が NULL でないときは、変換に使われた最終文字の次の文字へのポインターが \fIendptr\fP で参照される場所へ保存される。
-変換が行われなかったときには 0 が返る。そして
-.I endptr
-が参照している場所に
-.I nptr
-の値 (変換対象である文字列の開始アドレス) が保存される。
+変換が行われなかったときには 0 が返る。そして \fIendptr\fP が参照している場所に \fInptr\fP の値 (変換対象である文字列の開始アドレス)
+が保存される。
-正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合
-には、プラスまたはマイナスの
-.B HUGE_VAL
-.RB ( HUGE_VALF ,
-.BR HUGE_VALL )
-が返り (値の符号による)、
-.B ERANGE
-が
-.I errno
-に代入される。変換結果がアンダーフローを起こした場合には 0 が返り、
-.B ERANGE
-が
-.I errno
-に代入される。
+正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、プラスまたはマイナスの \fBHUGE_VAL\fP
+(\fBHUGE_VALF\fP, \fBHUGE_VALL\fP) が返り (値の符号による)、 \fBERANGE\fP が \fIerrno\fP
+に代入される。変換結果がアンダーフローを起こした場合には 0 が返り、 \fBERANGE\fP が \fIerrno\fP に代入される。
.SH エラー
-.TP
-.B ERANGE
+.TP
+\fBERANGE\fP
オーバーフローまたはアンダーフローが起こった。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBstrtod\fP(), \fBstrtof\fP(), \fBstrtold\fP() は、例外付きのスレッドセーフである。実行中に
+\fBsetlocale\fP(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。
.SH 準拠
-C89 では
-.BR strtod ()
-が、C99 では残りの 2 つの関数が記述されている。
+C89 では \fBstrtod\fP() が、C99 では残りの 2 つの関数が記述されている。
.SH 注意
-成功、失敗どちらの場合でも 0 を返す可能性があるので、
-プログラムは呼び出す前に
-.I errno
-を 0 に設定し、呼び出し後に
-.I errno
-が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する
-必要がある。
+成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前に \fIerrno\fP を 0 に設定し、呼び出し後に \fIerrno\fP
+が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。
+
+.\" From glibc 2.8's stdlib/strtod_l.c:
+.\" We expect it to be a number which is put in the
+.\" mantissa of the number.
+.\" It looks as though at least FreeBSD (according to the manual) does
+.\" something similar.
+.\" C11 says: "An implementation may use the n-char sequence to determine
+.\" extra information to be represented in the NaN's significant."
+glibc の実装では、"NAN" の後ろに置くことができる \fIn\-char\-sequence\fP は、整数値として解釈される (基数の 8 や 16
+を示す '0' や '0x' を接頭辞として付けることができる)。 この整数値は返り値の仮数部として使われる。
.SH 例
-.BR strtol (3)
-のマニュアルページの例を参照。
-このページで説明した関数の使用方法も同様である。
+\fBstrtol\fP(3) のマニュアルページの例を参照。 このページで説明した関数の使用方法も同様である。
.SH 関連項目
-.BR atof (3),
-.BR atoi (3),
-.BR atol (3),
-.BR strtol (3),
-.BR strtoul (3)
+\fBatof\fP(3), \fBatoi\fP(3), \fBatol\fP(3), \fBnan\fP(3), \fBnanf\fP(3), \fBnanl\fP(3),
+\fBstrtol\fP(3), \fBstrtoul\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。