Как я могу добавить новые строки в stringstream или строку, используя returns вместо ‘ n’?

#c

#c

Вопрос:

У меня есть файл. Вместо того, чтобы использовать ifstream, я хочу жестко закодировать его в свой файл .cpp. Однако он форматируется с использованием returns, а не символов » n». Есть ли решение для этого? Я не хочу вручную преобразовывать все в » n».

 stringstream newString;
newString = "Nine of Spades
Ten of Spades
Jack of Spades
Queen of Spades
King of Spades
Ace of Spades
Nine of Hearts
...
Ace of Diamonds";
  

Комментарии:

1. Как насчет std::endl ?

2. @KennyOstrom Не имеет значения.

Ответ №1:

Если вы используете C 11 или более позднюю версию, вы можете использовать необработанный строковый литерал:

 #include <sstream>

std::stringstream newString{
R"(Nine of Spades
Ten of Spades
Jack of Spades
Queen of Spades
King of Spades
Ace of Spades
Nine of Hearts
...
Ace of Diamonds)" };

int main() {

    return 0;
}
  

живая демонстрация

Ответ №2:

Используйте необработанный строковый литерал:

 stringstream newString(R"raw(Nine of Spades
Ten of Spades
Jack of Spades
Queen of Spades
King of Spades
Ace of Spades
Nine of Hearts
...
Ace of Diamonds)raw");
  

Смотрите живую демонстрацию.