нажмите «Enter» в середине написания строки в C ++ - PullRequest
0 голосов
/ 26 мая 2011


Я хочу написать строку и нажать «Enter», продолжая писать эту строку, не закрывая «».
Например, я хочу написать следующую строку:

string drawing = "\\n\\n" +  
"W     W      W        " +  
"\\nW        W  W     W  "  +  
"\\n              '.  W  ";  

но когда я попытался это сделать, компилятор жалуется на это:

error: invalid operands of types ‘const char [5]’ and ‘const char [23]’
to binary ‘operator+’

Есть ли хороший способ ввести новую строку без конкатенации строки (как, например, в python, с вводом '\')?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 26 мая 2011

Попробуйте без "+".

string drawing = "\n\n"
"W W W "
"\nW W W W "
"\n '. W ";
3 голосов
/ 26 мая 2011

Вы заканчиваете строку обратной косой чертой:

std::string drawing = "\n\n\
W W W \
\nW W W W \
\n '. W ";
1 голос
/ 26 мая 2011

В C ++, когда у вас есть два или более строковых литерала, разделенных только пробелами, они объединяются. Так что вы можете использовать

string drawing = "\n\n"
"W W W "
"\nW W W W "
"\n '. W ";
...