Название: Конвертировать list<string> в string [решено] Отправлено: iks от Апреля 23, 2011, 11:07 Есть список строк
Код: list<string> lst; Код: string str = "первая|вторая|третья"; Название: Re: Конвертировать list<string> в string Отправлено: alexman от Апреля 23, 2011, 11:11 Не знаю как в stl, а в Qt есть метод QString QStringList::join ( const QString & separator ) const
Название: Re: Конвертировать list<string> в string Отправлено: iks от Апреля 23, 2011, 11:16 вопрос задан не по Qt а именно по c++ это в cgi используется
Название: Re: Конвертировать list<string> в string Отправлено: Igors от Апреля 23, 2011, 11:34 можно конечно запустить циклом, но хотелось бы проще Если Вы и найдете что-то "ну очень крутое" (чтобы все-таки записать 1 строку вместо 2 с циклом), то это будет только в минус. Хотя бы потому что так Вы заставляете всех читающих знать эту "крутизну". Ни к чему это.Название: Re: Конвертировать list<string> в string Отправлено: iks от Апреля 23, 2011, 12:41 Если Вы и найдете что-то "ну очень крутое" (чтобы все-таки записать 1 строку вместо 2 с циклом), то это будет только в минус. Хотя бы потому что так Вы заставляете всех читающих знать эту "крутизну". Ни к чему это. Ну в то время когда один бегал с каменным топором и говорил что это хорошо и лудше ни чего быть не может, другой в это время нашел руду и попробовал из нее сделать себе топор, и он почему-то вышел лудше чем каменный.------- Думаю ответ понятен. ================================== А теперь о том что я нашел Код: list<string> lst; Название: Re: Конвертировать list<string> в string Отправлено: m_ax от Апреля 23, 2011, 13:32 А теперь о том что я нашел Сомнительное решение, в том плане, что я не вижу преимуществ перед обычным циклом.Код: list<string> lst; Код А в Вашем примере нужно дополнительно создавать объект ostringstream, затем после его заполнения, конвертировать его в строку и вновь копировать результат в str. Короче, не убедительно.. Название: Re: Конвертировать list<string> в string [решено] Отправлено: iks от Апреля 23, 2011, 13:48 Ну на вкус и цвет =)
По скорости пока не смотрел что лудше срабатывает, но меня это устраивает, применяю при записе list в MySql поэтому и искал подобное решение, и еще в таком решении есть реализация использования любых массивов и их преобразование в строку. Вот массив int так-же можно работать с char просто нет лишних телодвижений Код: list<int> lst; Да и вообще, решение рабочее, кому надо сам выберет то что ему лудше использовать, все зависит от ситуации. Ни кто не говорит что это конечная инстанция и пути в других направлениях нет, я в первом посте писал что можно пройти через цикл, но нужен другой вариант, вот и написал его когда нашел. Название: Re: Конвертировать list<string> в string [решено] Отправлено: m_ax от Апреля 23, 2011, 14:17 Ну на в кус и цвет =) Да, если вопрос ставится так, что список не ограничевается только типом string, то вариант с ostringstream удобней) Потому как им в этом случае всё равно придётся пользоваться. А уж по сути идет создание заполнение и конвертирование, где второе конвертирование не вижу. По скорости пока не смотрел что лудше срабатывает, но меня это устраивает, применяю при записе list в MySql поэтому и искал подобное решение, и еще в таком решении есть реализация использования любых массивов и их преобразование в строку. Вот массив int так-же можно работать с char просто нет лишних телодвижений Код: list<int> lst; Сам его использую, когда необходимо создать текст содержащий и числовые значения. Но если изначально известно, что работать нужно со строками, то я бы использовал вариант с обычным циклом. Или обобщил бы решение, написав шаблонную функцию конвертирования и реализовал специализацию для типа string: Код
|