как проверить std :: string для кодировки UTF-8

У нас есть проблема с проверкой std::string который содержит действительный UTF_8 набор символов.
вопрос у меня есть std::string в программе, которая может получить несколько недействительных UTF-8, персонажи во время выполнения.
В настоящее время я ссылаюсь на файл glib / utf8-validate.c для справки. Но типы данных, используемые glib, не являются std::stringпоэтому я не могу этим пользоваться.

Платформа QNX (разработка хоста Linux).

2

Решение

Во-первых, вы всегда должны включать в свой вопрос версию QNX, потому что, например, gcc версии 6.3.2 (Neutrino) — 3.7.

Второе использование const char * c_str () const; для функций c.

#include <stdio.h>
#include <dbus/dbus.h>
#include <string>
#include <iostream>

int main(void)
{
std::string test = "test";

std::cout << dbus_validate_utf8(test.c_str(), 0) << std::endl;
return 0;
}

Но может быть, это поможет вместо использования dbus_validate_utf8?

Как обнаружить UTF-8 в простой C?

Или даже это:

http://utfcpp.sourceforge.net/

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]