Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > аналог функции trim() для wchar_t*.


Автор: Хал 2.6.2009, 08:14
Здравствуйте!
Подскажите пожалуйста аналог функции trim() для wchar_t*. 
Нужно сделать применрно так:
wchar_t buf[256];
r_trim(buf);
Никак не могу найти почему-то...
Заранее спасибо

Автор: jonie 2.6.2009, 09:02
можно ручками используя связку цикла с функцией iswspace из winAPI....

Автор: azesmcar 2.6.2009, 10:13
самому надо писать, в стандартной библиотеке функции trim нету что-то вроде этого.
Код

wchar_t* rtrim(wchar_t* str)
{
    wchar_t* ptr = str;
    str += wcslen(str);
    while (iswspace(*(--str))) *str = 0;
    return ptr;
}

wchar_t* ltrim(wchar_t* str)
{
    while (iswspace(*(str++)));
    return str - 1;
}

wchar_t* trim(wchar_t* str)
{
    return ltrim(rtrim(str));
}


Цитата(jonie @  2.6.2009,  09:02 Найти цитируемый пост)
iswspace из winAPI

почему из winAPI - эта функция часть стандартной библиотеки С++ и обявлена в хидере <cwctype> smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)