В настоящее время я работаю в очень простой игре, используя среду C++. Раньше игра была школьным проектом, но теперь, когда я закончил этот класс программирования, я хотел расширить свои навыки и поработать над этим старым заданием.Извлечение струны
Я уже внес много изменений, которым я доволен. Я централизовал все данные в иерархии папок, и я получил код для чтения этих мест.
Однако моя проблема связана с очень фундаментальным недостатком, который меня колотил.
Для того, чтобы получить доступ к данным изображений, которые я использую я использовал код:
string imageLocation = "..\\DATA\\Images\\";
string bowImage = imageLocation + "bow.png";
Проблема заключается в том, что, когда игрок поднимает предмет на игровом поле моего код должен использовать код :
hud.addLine("You picked up a " + (*itt)->name() + "!");
Для печати в командной строке «Вы взяли лук!». Но вместо этого он показывает «Вы выбрали .. \ DATA \ Images \!».
Перед тем, как централизованные мои данные, которые я использовал для использования:
name_(item_name.substr(0, item_name.find('.')))
в моем конструктор класса Item, чтобы расколоть имя элемента, чтобы просто что-то вроде лука или свечи. После того, как я изменил структуру своих данных, я понял, что мне придется изменить, как я нарежу имя до одного и того же простого «лука» или «свечи».
Я изменил код выше, чтобы отразить мои изменения в структуре данных, чтобы быть:
name_(item_name.substr(item_name.find("..\\DATA\\Images\\"), item_name.find(".png")))
но, к сожалению, как я упоминал ранее это изменение кода не работает так, как я планировал быть.
Итак, теперь, когда я дал это реальное давнишнее введение в мою проблему, вот мой вопрос.
Как извлечь середину строки между двумя разделами, которые вы не хотите? Также эта средняя часть, которая является вашей целью, имеет неизвестную длину.
Благодарим вас за помощь, которую вы можете дать. Если вам нужна дополнительная информация, пожалуйста, спросите; Я буду более чем счастлив загружать часть или даже весь мой код для получения дополнительной помощи. Еще раз спасибо.