Создайте необработанную текстовую строку в C++, аналогично "@ string" в C#
Я иду на C++ из C#. У меня есть строка с множеством обратных косых черт, и я хотел бы прочитать строку как необработанный текст. Есть ли в C++ что-то вроде C# "at string"? Например:
string s = @"\\Some\Path";
В моем файле C++ я использую:
#include <string>
2 ответа
Решение
Вы можете использовать необработанные строковые литералы:
std::string s = R"(\Some\Path)";
Эта функция доступна в C++11.
Обратите внимание, что для путей к файловой системе вы можете использовать косую черту:
std::string s = "/Some/Path";
Согласно стандарту C++11 он имеет строки типа R"...."
Я говорю по стандарту, потому что мне никогда не приходилось их использовать:).
Этот тип строки может быть очень полезен для таких вещей, как регулярные выражения.