Difference between revisions of "Libchecker:checker eq str rus ucs4 nocase"

From EjudgeWiki
(New page: Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/[[Libchecker:Функции|Фун...)
 
 
Line 13: Line 13:
 
Функция предназначена для случаев, когда тестируемая программа должна выводить текст, содержащий русские буквы. Поскольку существует несколько распространенных кириллических кодировок, и, вообще говоря, неизвестно, в какой кириллической кодировке была подготовлена тестируемая программа, требуется перебрать все распространенные кириллические кодировки. Параметр <tt>s1</tt> &mdash; это строка, выведенная тестируемой программой, а параметр <tt>s2</tt> &mdash; это правильный ответ. Правильный ответ заранее представляется в кодировке UCS-4, поскольку кодировка, в которой записан правильный ответ, известна при подготовке задачи.
 
Функция предназначена для случаев, когда тестируемая программа должна выводить текст, содержащий русские буквы. Поскольку существует несколько распространенных кириллических кодировок, и, вообще говоря, неизвестно, в какой кириллической кодировке была подготовлена тестируемая программа, требуется перебрать все распространенные кириллические кодировки. Параметр <tt>s1</tt> &mdash; это строка, выведенная тестируемой программой, а параметр <tt>s2</tt> &mdash; это правильный ответ. Правильный ответ заранее представляется в кодировке UCS-4, поскольку кодировка, в которой записан правильный ответ, известна при подготовке задачи.
  
См. также: [[libchecker:checker_eq_str_rus_ucs4_nocase|checker_eq_str_rus_ucs4_nocase]], [[libchecker:checker_ucs4_tolower|checker_ucs4_tolower]].
+
См. также: [[libchecker:checker_eq_str_rus_ucs4|checker_eq_str_rus_ucs4]], [[libchecker:checker_ucs4_tolower|checker_ucs4_tolower]].

Latest revision as of 07:28, 28 August 2008

Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Функции/Перекодирование текстовых данных/checker_eq_str_rus_ucs4_nocase

Функция сравнивает заданную строку в кодировке UCS-4 со строкой в некоторой поддерживаемой однобайтовой кириллической кодировке без учета регистра букв.

int checker_eq_str_rus_ucs4_nocase(const char *s1, const int *s2);

Параметр s2 — это строка в кодировке UCS-4. Параметр не может быть NULL. Строка должна завершаться символом с кодом 0. Параметр s1 — это строка в некоторой однобайтовой кириллической кодировке. Параметр не может быть равен NULL, строка должна завершаться нулевым байтом.

Функция последовательно рассматривает входную строку s1 как представленную в кодировках KOI8-R, CP1251, CP866, ISO, MAC, UTF-8. Если после перекодирования из какой-либо из этих кодировок в кодировку UCS-4 получается строка, равная строке s2 без учета регистра букв, сравнение считается удачным, и функция возвращает результат 1.

Функция возвращает 1, если существует такая кодировка, что строки s1 и s2 оказываются равными без учета регистра букв, и 0 в противном случае.

Функция предназначена для случаев, когда тестируемая программа должна выводить текст, содержащий русские буквы. Поскольку существует несколько распространенных кириллических кодировок, и, вообще говоря, неизвестно, в какой кириллической кодировке была подготовлена тестируемая программа, требуется перебрать все распространенные кириллические кодировки. Параметр s1 — это строка, выведенная тестируемой программой, а параметр s2 — это правильный ответ. Правильный ответ заранее представляется в кодировке UCS-4, поскольку кодировка, в которой записан правильный ответ, известна при подготовке задачи.

См. также: checker_eq_str_rus_ucs4, checker_ucs4_tolower.