std:: quoted
|
Definiert im Header
<iomanip>
|
||
|
template
<
class
CharT
>
/*unspecified*/
quoted
(
const
CharT
*
s,
|
(1) | (seit C++14) |
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
/*unspecified*/
quoted
(
const
std::
basic_string
<
CharT, Traits, Allocator
>
&
s,
|
(2) | (seit C++14) |
|
template
<
class
CharT,
class
Traits
>
/*unspecified*/
quoted
(
std::
basic_string_view
<
CharT, Traits
>
s,
|
(3) | (seit C++17) |
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
/*unspecified*/
quoted
(
std::
basic_string
<
CharT, Traits, Allocator
>
&
s,
|
(4) | (seit C++14) |
Ermöglicht das Einfügen und Extrahieren von in Anführungszeichen gesetzten Zeichenketten, wie sie beispielsweise in CSV oder XML vorkommen.
out
ein Ausgabestream mit
char_type
gleich
CharT
und, für Überladungen (2,3),
traits_type
gleich
Traits
ist, verhält sich wie eine
FormattedOutputFunction
, die in
out
eine Zeichensequenz
seq
einfügt, die wie folgt konstruiert wird:
seq
angehängt.
- Dann, falls seq. size ( ) < out. width ( ) , fügt out. width ( ) - seq. size ( ) Kopien des Füllzeichens out. fill ( ) entweder am Ende der Sequenz hinzu (falls ios_base :: left in out. flags ( ) gesetzt ist) oder am Anfang der Sequenz (in allen anderen Fällen).
- Schließlich gibt jedes Zeichen aus der resultierenden Sequenz aus, als ob durch Aufruf von out. rdbuf ( ) - > sputn ( seq, n ) , wobei n = std:: max ( out. width ( ) , seq. size ( ) ) und out. width ( 0 ) , um die Effekte von std::setw , falls vorhanden, aufzuheben.
in
ein Eingabestream mit
char_type
gleich
CharT
und
traits_type
gleich
Traits
ist, extrahiert Zeichen aus
in
, unter Verwendung von
std::basic_istream::operator>>
, gemäß den folgenden Regeln:
traits_type::eq
des Streams), dann führt es einfach
in
>>
s
aus.
in
und fügt sie an
s
an, außer dass, wann immer ein
escape
-Zeichen extrahiert wird, dieses ignoriert und das nächste Zeichen an
s
angehängt wird. Die Extraktion stoppt, wenn
!
in
==
true
oder wenn ein nicht-escapedes
delim
-Zeichen gefunden wird.
Inhaltsverzeichnis |
Parameter
| s | - | die einzufügende oder zu extrahierende Zeichenkette |
| delim | - | das als Trennzeichen zu verwendende Zeichen, standardmäßig " |
| escape | - | das als Escape-Zeichen zu verwendende Zeichen, standardmäßig \ |
Rückgabewert
Gibt ein Objekt eines nicht näher spezifizierten Typs zurück, sodass das beschriebene Verhalten eintritt.
Exceptions
Wirft std::ios_base::failure falls operator >> oder operator << wirft.
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_quoted_string_io
|
201304L
|
(C++14) |
std::quoted
|
Beispiel
#include <iomanip> #include <iostream> #include <sstream> void default_delimiter() { const std::string in = "std::quoted() quotes this string and embedded \"quotes\" too"; std::stringstream ss; ss << std::quoted(in); std::string out; ss >> std::quoted(out); std::cout << "Default delimiter case:\n" "read in [" << in << "]\n" "stored as [" << ss.str() << "]\n" "written out [" << out << "]\n\n"; } void custom_delimiter() { const char delim{'$'}; const char escape{'%'}; const std::string in = "std::quoted() quotes this string and embedded $quotes$ $too"; std::stringstream ss; ss << std::quoted(in, delim, escape); std::string out; ss >> std::quoted(out, delim, escape); std::cout << "Custom delimiter case:\n" "read in [" << in << "]\n" "stored as [" << ss.str() << "]\n" "written out [" << out << "]\n\n"; } int main() { default_delimiter(); custom_delimiter(); }
Ausgabe:
Default delimiter case: read in [std::quoted() quotes this string and embedded "quotes" too] stored as ["std::quoted() quotes this string and embedded \"quotes\" too"] written out [std::quoted() quotes this string and embedded "quotes" too] Custom delimiter case: read in [std::quoted() quotes this string and embedded $quotes$ $too] stored as [$std::quoted() quotes this string and embedded %$quotes%$ %$too$] written out [std::quoted() quotes this string and embedded $quotes$ $too]
Siehe auch
|
(C++20)
|
speichert die formatierte Darstellung der Argumente in einer neuen Zeichenkette
(Funktionsschablone) |