Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 1.93 KB

File metadata and controls

72 lines (51 loc) · 1.93 KB

strfromd

  • cstdlib[meta header]
  • std[meta namespace]
  • function[meta id-type]
  • cpp26[meta cpp]
namespace std {
  int strfromd(char* s, size_t n, const char* format, double fp);
}
  • size_t[link /reference/cstddef/size_t.md]

概要

double型の浮動小数点数を文字列に変換する。

C23で<stdlib.h>に追加された関数であり、C++26で<cstdlib>に取り込まれた。

事前条件

formatは、文字%、アスタリスク*を含まない精度指定 (省略可)、および変換指定子aAeEfFgGのいずれか1つだけで構成されること。

効果

std::snprintf(s, n, format, fp)と等価である。

戻り値

nが十分に大きいと仮定した場合に書き込まれる文字数を、終端のヌル文字を除いて返す。

したがって、ヌル終端された出力が完全に書き込まれたのは、戻り値が非負かつn未満である場合に限られる。

#include <cstdlib>
#include <print>

int main()
{
  char buf[32];
  std::strfromd(buf, sizeof(buf), "%.2f", 3.14159);
  std::println("{}", buf);
}
  • std::strfromd[color ff0000]

出力

3.14

バージョン

言語

  • C++26

処理系

関連項目

  • strfromf: float型を文字列に変換する
  • strfroml: long double型を文字列に変換する
  • std::to_chars: 数値を文字列に変換する

参照