Daily bit(e) C++. std::quoted
Добавлено 23 октября 2026 в 07:18
Daily bit(e) C++ 158, утилита из C++14 для работы со строками в кавычках – std::quoted.

std::quoted – это утилита из C++14, упрощающая чтение и запись строк в кавычках.
При использовании во время вставки в поток она заключит заданную строку в кавычки и экранирует все внутренние кавычки.
При использовании во время извлечения из потока будет прочитана вся строка в кавычках, будут удалены окружающие кавычки (если таковые имеются) и разэкранированы внутренние кавычки.
#include <iostream>
#include <iomanip>
std::cout << std::quoted(R"(I say: "Hello Wordl!")") << "\n";
// prints: "I say: \"Hello World!\""
std::stringstream s(R"("I say: \"Hello World!\"")");
std::string unescaped;
s >> std::quoted(unescaped);
// unescaped == I say: "Hello World!"
// Символы экранирования и кавычки можно настроить.
std::cout << std::quoted("10|20|30",'|','#') << "\n";
// prints: |10#|20#|30|
