У нас есть проблема с проверкой std::string
который содержит действительный UTF_8 набор символов.
вопрос у меня есть std::string
в программе, которая может получить несколько недействительных UTF-8, персонажи во время выполнения.
В настоящее время я ссылаюсь на файл glib / utf8-validate.c для справки. Но типы данных, используемые glib, не являются std::string
поэтому я не могу этим пользоваться.
Платформа QNX (разработка хоста Linux).
Во-первых, вы всегда должны включать в свой вопрос версию 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?
Или даже это:
Других решений пока нет …