Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2009, 23:51   #1
Crasty
Пользователь
 
Регистрация: 01.11.2008
Сообщений: 35
По умолчанию Всё тот же STL

Подскажите как можно преобразовать строки string в одном контейнере
к нижнему регистру и скопировать получившиеся строки в другой контейнер.

я писал например так для того же контейнера

Код:
string ToLowCopy(string Str)
{
	transform(Str.begin(), Str.end(), Str.begin(), tolower);
        return Str;
}

list<string> lst;
transform(lst.begin(), lst.end(), lst.begin(), ToLowCopy);
А когда хочу подставить вместо выходного вектора какой-нибудь
другой получаю ошибку.

Последний раз редактировалось MaTBeu; 20.12.2009 в 00:47.
Crasty вне форума Ответить с цитированием
Старый 20.12.2009, 00:39   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Код:
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
#include <string>
#include <list>

std::string LowCopy(const std::string &rhs){
	std::string res;

	std::transform(rhs.begin(), rhs.end(), std::back_inserter(res), tolower);

	return res;
}
int main(){
	std::list<std::string> list;
	std::vector<std::string> vec;

	list.push_back("AAA");
	list.push_back("EEE");
	list.push_back("OOO");
	list.push_back("UUU");

	std::transform(list.begin(), list.end(), std::back_inserter(vec), LowCopy);

	std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
	return 0;
}
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
все тот же паскаль werus Помощь студентам 2 20.04.2009 15:26
Не тот результат! Dawystrik Общие вопросы Delphi 3 22.03.2009 09:50
Всё тот же старый COM, кто поможет? Prot Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 14.09.2008 15:01