Inhaltsverzeichnis

to_chars()

#include <charconv>

to_chars_result to_chars(char* first, char* last, INTEGER value, int base = 10);
to_chars_result to_chars(char* first, char* last, FLOAT value);
to_chars_result to_chars(char* first, char* last, FLOAT value, chars_format fmt);
to_chars_result to_chars(char* first, char* last, FLOAT value, chars_format fmt, int precision);

Konvertiert Ganzzahl bzw. Gleitkommazahl in Zeichenkette.

Parameter

first Startposition
last Endposition
last Endposition
base Zahlenbasis
fmt Zahlformat
precision Anzahl der Nachkommastellen

Ergebnis

Rückgabewert: Ergebnis enthält Zeiger hinter das Ende der konvertierten Zeichenkette bzw. Fehlercode. Achtung! Die entstandene Zeichenkette ist nicht nullterminiert!

Siehe auch

from_chars(), to_string().

Beispiel

to_chars.cpp
#include <charconv>
#include <iostream>
#include <string>
#include <system_error>
 
int main()
{
  const size_t SIZE = 100;
  std::string s(SIZE, '*');
  char* buffer = &s[0];
  int value = 1234567890;
 
  if (auto [end, error] = std::to_chars(buffer, buffer+SIZE, value); error==std::errc())
    std::cout << s << " " << (end-buffer) << " Bytes written\n";
  else
    std::cout << buffer << '\n'
	      << std::string(end-buffer, ' ') 
              << "^ error: " << std::make_error_code(error).message() << '\n';
 
  value = 0;
 
  if (auto [end, error] = std::from_chars(buffer, buffer+SIZE, value); error==std::errc())
    std::cout << value << " " << (end-buffer) << " Bytes read\n";
  else
    std::cout << buffer << '\n'
	      << std::string(end-buffer, ' ') 
              << "^ error: " << std::make_error_code(error).message() << '\n';
  }
}