char_t cist. wchar_t c2nd) { r

Автор admin Понедельник, 11 мая 2009 11:32

char_t cist. wchar_t c2nd) { return towupper(clst) != towupper(c2nd): } static bool lt(wchar_t cist. wchar_t c2nd) { return towupper(clst) < towupper(c2nd): } static int compare(const wchar_t* strl. const wchar_t* str2, size_t n) { for(size_t i = 0; i < n; i++) { if(strl == 0) return -1; else if(str2 == 0) return 1; else if(towlower(*strl) < towlower(*str2)) return -1: else if(towlower(*strl) > towlower(*str2)) return 1: assert(towlower(*strl) == towlower(*str2)); strl++; str2++; // Сравнение следующих wchar_t } return 0; } static const wchar_t* find(const wchar_t* si. size_t n. wchar_t c) { while(n– > 0) if(towupper(*sl) == towupper(c)) return si: else ++sl; return 0: } typedef basic_string iwstring: inline wostream& operator«(wostream& os. const iwstring& s) { return os « wstring(s.c_str(), s.lengthO): } #endif // IWCHAR_TRAITS_H III– Как видите, задача в основном сводится к простой подстановке символа «w» в некоторых местах исходной программы. Тестовая программа выглядит так: //: C03:IWCompare.cpp {-g++} #include #include finclude “iwchar_traits.h” usin


Комментарии закрыты.