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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2012, 19:49   #1
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию Понижение регистра в строке

Всем привет!

Не могу понизить регистр в строке. Использовал функции towupper, towlower, не помогло. Мне это нужно для сравнения строк.

Код:
wstring namestreet;
for ( size_t i = 0; i < namestreet.length(); ++i )
        {
            if (i == 0)
                namestreet[i] = toupper(namestreet[i]);
            else
            namestreet[i] = tolower(namestreet[i]);
        }
Пошел другим путем, использовал _tcsicmp, _wcsicmp, чтобы сравнить две строки без регистра, тоже не работает.

Код:
int result = _wcsicmp(checkstreet.namestreet,namestreet.c_str());
Подскажите.

Заранее благодарен.
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 31.07.2012, 21:11   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Стремящийся

Не могу понизить регистр в строке. Использовал функции towupper, towlower, не помогло.

Код:
namespace {
	struct ToLower
	{
		ToLower(const std::locale& loc) : loc_(loc) {}
		const std::locale& loc_;

		wchar_t operator()(wchar_t ch) const
		{ return std::tolower(ch, loc_); } 
	};
}

std::wstring to_lower_copy(std::wstring ws, const std::locale& loc = std::locale())
{
	std::transform(ws.begin(), ws.end(), ws.begin(), ToLower(loc));
	return ws;
}
Мне это нужно для сравнения строк.

смотри в гоогле case-insensetive std::string

int result = _wcsicmp(checkstreet.namestreet,nam estreet.c_str());

_wcsicmp(checkstreet.namestreet.c_s tr(), namestreet.c_str());
Rififi вне форума Ответить с цитированием
Старый 31.07.2012, 21:19   #3
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

Спасибо большое
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение кол-ва слов в строке и сопоставление аналогичной строке. kish_mish Общие вопросы C/C++ 0 12.03.2012 20:58
Добавить к строке в конце столько звездочек, сколько букв в строке (Паскаль) BBorr1 Помощь студентам 3 09.02.2012 11:40
В целочисленной матрице NxM в каждой строке определить числа, которых нет в следующей строке (Паскаль) Sheffdmb2010 Паскаль, Turbo Pascal, PascalABC.NET 3 21.10.2011 08:33
Преобразовать все буквы нижнего регистра в буквы верхнего регистра druger Помощь студентам 5 18.09.2011 17:27
Запись регистра xak2 Общие вопросы Delphi 4 07.05.2007 22:18