Manpages

名 前

ecvt, fcvt − 浮 動 小 数 点 数 の 文 字 列 へ の 変 換

書 式

#include <stdlib.h>

char *ecvt(double number, int ndigits, int *decpt, int *sign);

char *fcvt(double number, int ndigits, int *decpt, int *sign);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

ecvt(), fcvt():

glibc 2.12 以 降 :

_SVID_SOURCE ||
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)

glibc 2.12 よ り 前 :

_SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

説 明

関 数 ecvt() は number を ヌ ル 文 字 で 終 端 さ れ た ndigits 文 字 の 文 字 列 へ 変 換 し 、 そ の 文 字 列 へ の ポ イ ン タ ー を 返 す (ndigitsdouble の 精 度 に よ っ て 決 定 さ れ る シ ス テ ム 依 存 の 上 限 値 よ り 大 き い 場 合 は 、 そ の 条 件 値 が ndigits の 値 と な る )。 number が 0 で な け れ ば 、 最 上 位 の 桁 は 0 以 外 で あ る 。 最 下 位 の 桁 は 丸 め ら れ る 。 文 字 列 に は 小 数 点 は 含 ま れ な い 。 そ の か わ り に 、 文 字 列 の 先 頭 か ら の 小 数 点 の 位 置 が *decpt に 保 持 さ れ る 。 *decpt が 負 の 値 の 場 合 、 小 数 点 が 文 字 列 の 先 頭 の 左 側 に あ る こ と を 意 味 す る 。 も し (numberの )符 号 が 負 な ら ば *sign は 0 以 外 の 値 に 、 そ う で な け れ ば 0 に 設 定 さ れ る 。 number が 0 な ら 、 *decpt が 0 か 1 か は 未 規 定 で あ る 。 関 数 fcvt() は ecvt() と 同 じ 機 能 を 持 つ が 、 ndigits は 小 数 点 以 下 の 文 字 数 を 指 定 す る 。

返 り 値

関 数 ecvt() と fcvt() は number の ASCII 表 現 を 含 む 静 的 な 領 域 内 の 文 字 列 へ の ポ イ ン タ ー を 返 す 。 こ の 文 字 列 は ecvt() や fcvt() の 呼 び 出 し の た び に 上 書 き さ れ る 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 ecvt() と fcvt() は ス レ ッ ド セ ー フ で は な い 。

準 拠

SVr2。 POSIX.1−2001 で は 「 過 去 の 名 残 (LEGACY)」 と 位 置 付 け ら れ て い る 。 POSIX.1−2008 で は ecvt() と fcvt() の 仕 様 が 削 除 さ れ 、 代 わ り に sprintf(3) の 使 用 が 推 奨 さ れ て い る (し か し snprintf(3) が よ り 適 切 か も し れ な い )。

注 意

小 数 点 に ピ リ オ ド を 使 わ な い ロ ケ ー ル も あ る 。

関 連 項 目

ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。