Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
Добрый день!
Нужна функция поиска подстроки в строке UTF-8.
Нашел, проект ICU, но что-то, видимо, давно не программировал, не могу понять, как его подключить к проекту.
Хотелось бы, просто выдернуть функцию поиска из DLL и все.

Тут нашёл пример кода http://userguide.icu-project.org/collation/icu-string-search-service


Всё, что мы видим - это лишь иллюзия ...

Сообщение было отредактировано: 22 апр 21, 12:10
22 апр 21, 12:14    [22312401]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Да как и любую другую библиотеку - заголовок в include, библиотеку - в список линковки.

Posted via ActualForum NNTP Server 1.5

22 апр 21, 12:43    [22312432]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Маслов Андрей,
А std.string для кириллицы не подходит? Или кириллица вам узко по задаче?
22 апр 21, 14:01    [22312530]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
PetroNotC Sharp
Маслов Андрей,
А std.string для кириллицы не подходит? Или кириллица вам узко по задаче?

Китайский нужен )
22 апр 21, 14:26    [22312553]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
Dimitry Sibiryakov
Да как и любую другую библиотеку - заголовок в include, библиотеку - в список линковки.

Да не получается что-то. Я хотел DLL, без lib. Там слишком много всего тянется.
22 апр 21, 14:27    [22312554]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dima T
Member

Откуда:
Сообщений: 15795
Маслов Андрей
Я хотел DLL, без lib.

Читай про явное связывание. Тут с примером.
22 апр 21, 14:37    [22312563]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
Маслов Андрей
Я хотел DLL, без lib.

Ну так и линкуй прямо с DLL. GNU link это умеет.

Но зачем тебе ICU? iconv/MultiByteToWideChar не хватит?..

Сообщение было отредактировано: 22 апр 21, 14:35
22 апр 21, 14:40    [22312565]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
Маслов Андрей
Китайский нужен )

В китайском есть понятие uppercase/lowercase? Если нет, то подстрока в UTF-8 это просто подстрока и ищется простым strstr.
22 апр 21, 14:45    [22312568]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Маслов Андрей,

Короче, пример на китайском давай)
22 апр 21, 15:13    [22312602]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Dimitry Sibiryakov
подстрока в UTF-8 это просто подстрока и ищется простым strstr.
А что делать, если в двух UTF8-строках - две разные нормализации?
22 апр 21, 18:02    [22312725]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Забить, китайцы, походу, языковыми заморочками не озабочены.

Posted via ActualForum NNTP Server 1.5

22 апр 21, 18:17    [22312737]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
petrav
Member

Откуда:
Сообщений: 2944
Basil A. Sidorov
Dimitry Sibiryakov
подстрока в UTF-8 это просто подстрока и ищется простым strstr.
А что делать, если в двух UTF8-строках - две разные нормализации?

Отдать на аутсорс китайцам. :)
22 апр 21, 18:31    [22312741]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Люблю топики про кодировки. Вечная тема.
22 апр 21, 21:48    [22312812]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3654
Маслов Андрей, без "lib", это к LoadLibrary.
22 апр 21, 23:14    [22312852]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3654
Basil A. Sidorov, нормализация может быть только одна.
22 апр 21, 23:15    [22312854]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Некоторые API различают 4 типа нормализации.
23 апр 21, 07:27    [22312905]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
rdb_dev
Basil A. Sidorov, нормализация может быть только одна.
Да, нормализация может быть. А может быть разной или не быть вообще.
23 апр 21, 07:49    [22312914]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
mayton
Некоторые API различают 4 типа нормализации.
... которые перечислены в стандарте юникода.
23 апр 21, 07:50    [22312915]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
PetroNotC Sharp
Маслов Андрей,

Короче, пример на китайском давай)


Исходная: ²»ÄÍ·³£¬Ò׳嶯
Ищем в ней: Í·

Китайский тут не отображается (
23 апр 21, 21:47    [22313448]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Как я и сказал: обычный strstr.

Posted via ActualForum NNTP Server 1.5

23 апр 21, 22:07    [22313455]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Пётр Седов
Member

Откуда: Санкт-Петербург
Сообщений: 706
Маслов Андрей
Китайский тут не отображается (
Отображается, но через одно место. 真人快打
Надо так писать:
& # 30495 ; & # 20154 ; & # 24555 ; & # 25171 ;
(без пробелов)
24 апр 21, 01:09    [22313479]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
Dimitry Sibiryakov
Как я и сказал: обычный strstr.

Не работает strstr. Он находит символ, а его там нет.
24 апр 21, 01:28    [22313484]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
Маслов Андрей
Dimitry Sibiryakov
Как я и сказал: обычный strstr.

Не работает strstr. Он находит символ, а его там нет.

Пётр Седов
Маслов Андрей
Китайский тут не отображается (
Отображается, но через одно место. 真人快打
Надо так писать:
& # 30495 ; & # 20154 ; & # 24555 ; & # 25171 ;
(без пробелов)

Вот так выглядит

К сообщению приложен файл. Размер - 12Kb
24 апр 21, 01:32    [22313485]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Пётр Седов
Member

Откуда: Санкт-Петербург
Сообщений: 706
Маслов Андрей, сохраните STRING и SUBSTRING в текстовом файле в кодировке UTF-8 (стандартный виндовый Notepad умеет, кодировка выбирается в save-окне, выпадающий список внизу). Потом приложите этот текстовый файл к сообщению на форуме.

Компилятор -- C++ Builder? В коде используется тип AnsiString (строка из байтов) или WideString (строка из 16-битных элементов)?
24 апр 21, 02:13    [22313494]     Ответить | Цитировать Сообщить модератору
 Re: Библиотека ICU4C, как подключить  [new]
Маслов Андрей
Member

Откуда: Москва
Сообщений: 1178
Пётр Седов
Маслов Андрей, сохраните STRING и SUBSTRING в текстовом файле в кодировке UTF-8 (стандартный виндовый Notepad умеет, кодировка выбирается в save-окне, выпадающий список внизу). Потом приложите этот текстовый файл к сообщению на форуме.

Компилятор -- C++ Builder? В коде используется тип AnsiString (строка из байтов) или WideString (строка из 16-битных элементов)?


Да, Builder.
Файл приложил
Используется, просто, char*

К сообщению приложен файл. Размер - 148Kb


Сообщение было отредактировано: 24 апр 21, 02:22
24 апр 21, 02:27    [22313495]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / C++ Ответить