Сравните две языковые строки - PullRequest
0 голосов
/ 22 апреля 2011

Мы работаем над программным обеспечением для удаленного управления.Нам необходимо сравнить данные, которые мы получаем от удаленной системы.Мы используем C ++ и WMI для получения данных из удаленной системы.При обработке данных нам может потребоваться сравнить определенные слова (с имеющимися у нас постоянными словами) от данных, собранных из удаленной системы.Когда главная и целевая системы работают на английском языке, у нас нет проблем при сравнении строк.

Но когда удаленный компьютер возвращает данные, отличные от английского, наше сравнение не удается.Мы думали о реализации локализации и сохранили все возможные языковые строки при себе.И если одна из строк в нашем списке совпадает, мы можем продолжить.Но это очень утомительный процесс.

Есть ли способ сравнить строки из двух разных языков в C ++ или WMI ...?

Любые API ..?ИЛИ Обходные пути ...?

Пожалуйста, помогите!

Ответы [ 3 ]

0 голосов
/ 22 апреля 2011

Вы должны использовать std :: locale и его различные функции ( operator () ).Я полагаю, вы также хотите использовать std :: wstring вместо обычного std :: string для поддержки UTF-подобных символов.

0 голосов
/ 22 апреля 2011

Я думаю, что вы ищете Инструментарий управления Windows: Обзор международной поддержки . Потребность в локализации и вытекающая из этого потребность в поддержке между локалями отмечались ранее.

0 голосов
/ 22 апреля 2011

Существуют средства c # для сравнения строк в локали или в зависимости от культуры, см. this , который дает пример сравнения двух немецких строк, рассматривающих различные представления "ss" и essettz.символ «ß'as эквивалент.

1004 * для этого вам нужно иметь знания языка хост-компьютера, это спорно, если вы должны относиться к сс и» ß'as равный, если вы не работаете на немецком языке.

Но мне не ясно, есть ли у вас такая проблема.Вы на самом деле надеетесь перевести полученный текст?Итак, на вашей машине у вас есть список строк:

RED
GREEN
WHITE

, и вы можете получить от хоста RED или ROUGE или ROT.В этом случае я не вижу у вас особого выбора, кроме как вести таблицу перевода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...