powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Библиотека ICU4C, как подключить
8 сообщений из 33, страница 2 из 2
Библиотека ICU4C, как подключить
    #40065396
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
txt ещё в UTF-8
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065397
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё пробовал вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
std::wstring AnsiToWstring(const std::string& input, DWORD locale = CP_UTF8 )
{
      std::wstring buf(input.size(),0);
      MultiByteToWideChar(locale, 0, input.c_str(), (int)input.length(), const_cast<wchar_t*>(buf.data()), input.size());
      return buf;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   std::wstring w_str2_substr = AnsiToWstring (Edit1->Text.c_str());
   std::wstring w_str1_srsstr = AnsiToWstring (Edit2->Text.c_str());
   ShowMessage(wcsstr( w_str1_srsstr.c_str(), w_str2_substr.c_str()) ? "true" : "false");
}



но результат идентичен, он находит символ, хотя не должен
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065398
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маслов Андрей
Ещё пробовал вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
std::wstring AnsiToWstring(const std::string& input, DWORD locale = CP_UTF8 )
{
      std::wstring buf(input.size(),0);
      MultiByteToWideChar(locale, 0, input.c_str(), (int)input.length(), const_cast<wchar_t*>(buf.data()), input.size());
      return buf;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   std::wstring w_str2_substr = AnsiToWstring (Edit1->Text.c_str());
   std::wstring w_str1_srsstr = AnsiToWstring (Edit2->Text.c_str());
   ShowMessage(wcsstr( w_str1_srsstr.c_str(), w_str2_substr.c_str()) ? "true" : "false");
}




но результат идентичен, он находит символ, хотя не должен



Поменял на CP_ACP вроде заработало
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065399
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маслов Андрей
txt ещё в UTF-8
Этот файл в кодировке code page 936, а не UTF-8.

Так попробуйте:
Код: plaintext
1.
2.
WideString w_str2_substr = Edit1->Text;
WideString w_str1_srsstr = Edit2->Text;

Наверняка там есть неявное преобразование из AnsiString в WideString (который хранит строку в кодировке UTF-16).

Маслов Андрей
Поменял на CP_ACP вроде заработало
WinAPI-шная функция GetACP возвращает 936?
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065400
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр Седов
Маслов Андрей
txt ещё в UTF-8
Этот файл в кодировке code page 936, а не UTF-8.

Так попробуйте:
Код: plaintext
1.
2.
WideString w_str2_substr = Edit1->Text;
WideString w_str1_srsstr = Edit2->Text;


Наверняка там есть неявное преобразование из AnsiString в WideString (который хранит строку в кодировке UTF-16).

Маслов Андрей
Поменял на CP_ACP вроде заработало
WinAPI-шная функция GetACP возвращает 936?

Я сохранял, как utf-8. Завтра уже посмотрю. Пора отдохнуть.
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065413
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
[Linker Error] Unresolved external 'std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(int, int, const std::allocator<wchar_t>&)' 




Поместил в библиотеку, теперь не могу понять, какой lib не прилинковал(
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065479
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маслов Андрей,

up,
Builder 5
...
Рейтинг: 0 / 0
Библиотека ICU4C, как подключить
    #40065544
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скомпилировалось в rad studio 10.3 без проблем
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Библиотека ICU4C, как подключить
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]