2014-10-21 2 views
0

Приветствия! Я совершенно новичок в этом сообществе кодирования, но я до сих пор наслаждаюсь этим. Если у меня есть строка, а cout - несколько строк, как разбить эти строки?Разбивка длинных строк

Например:

string famousVillains; 
famousVillains = 
" 
Voldemort: skinny man with a fat backstory 
Ursula: fat lady with tentacles 
The Joker: scary dude with make-up 
Cruella: weird lady with dog obsession 
Terminator: crazy guy in black."; 

когда я COUT это, как я могу убедиться, есть пробелы между каждым из злодеев? Я пробовал использовать < < endl; но это просто отменяет всех злодеев, которые следуют.

Спасибо за помощь!

+0

Пожалуйста, попробуйте использовать правильное форматирование, показать код, который вы попробовали, и дать * точный * желаемый результат, а не ручной. Это будет намного проще. – luk32

+0

Когда вы говорите «пробелы», вы имеете в виду символы новой строки? – ooga

+3

Возможный дубликат [CML многострочный строковый литерал] (http://stackoverflow.com/questions/1135841/c-multiline-string-literal). Но то, что вы, вероятно, действительно хотите, - это структурировать ваши данные; поэтому 'class Character {private: string name; описание строки; public:/* methods here * /}; ', а затем использовать' vector knownVillains; '. Это дает вам больше возможностей для обработки символов, подсчета их, добавления и удаления ... и различных способов их отображения. Хранение всех ваших данных в виде одной кусковой строки намного сложнее для обработки. – HostileFork

ответ

1

Вы можете создать std::map или просмотреть таблицу злодеев и их описания.

struct Villain_Descriptions 
{ 
    std::string name; 
    std::string descripton; 
}; 

Villain_Descriptions famous_villains[] = 
{ 
    {"Voldemort", "skinny man with a fat backstory"}, 
    {"Ursula", "fat lady with tentacles"}, 
    {"The Joker", "scary dude with make-up"}, 
    {"Cruella", "weird lady with dog obsession"}, 
    {"Terminator", "crazy guy in black."}, 
}; 

Таблица поиска и std::map структуры позволяют получить информацию о злодее, ища их имени.
В вашем методе вам нужно найти строку для строк новой строки или имени, а затем извлечь подстроку.

Смежные вопросы