Создайте необработанную текстовую строку в 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"...."Я говорю по стандарту, потому что мне никогда не приходилось их использовать:).
Этот тип строки может быть очень полезен для таких вещей, как регулярные выражения.

Другие вопросы по тегам