Pain-maker
Mitglied
Hi @ all!
Ich versuche gerade verzweifelt den Regulären Ausdruck von der W3C FAQ in C++ mit CAtlRegExp nachzubauen. Aber ich bekomme immer wieder Assertion Fehler
Was mache ich falsch?
Mein Versuch:
Bin für jede Hilfe dankbar
Grüße
//EDIT:
Mir ist grad eingefallen, dass die ATL ja gar nich mehr zum Visual Studio gehört... Vielleicht sollte das Thema doch nach C/C++ verschoben werden.
Ich versuche gerade verzweifelt den Regulären Ausdruck von der W3C FAQ in C++ mit CAtlRegExp nachzubauen. Aber ich bekomme immer wieder Assertion Fehler

Was mache ich falsch?
Mein Versuch:
Code:
#include <iostream>
#define USE_REGEX
#include <atlrx.h>
void main()
{
CAtlRegExp<> regExp;
CAtlREMatchContext<> matches;
TCHAR *regExPattern = TEXT("{([\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2,}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2,}|[\xF1-\xF3][\x80-\xBF]{3,}|\xF4[\x80-\x8F][\x80-\xBF]{2,})*?}"); // der ASCII-Teil ist nicht notwendig
if(regExp.Parse(regExPattern) == REPARSE_ERROR_OK)
{
if(regExp.Match(TEXT("Ich kann es nicht mehr hören!"), &matches))
{
printf ("Nicht UTF-8 kodiert!\n");
}
else
{
printf("UTF-8 kodiert!\n");
}
}
else
{
printf("Fehlerhaftes Pattern!\n");
}
}
Bin für jede Hilfe dankbar

Grüße
//EDIT:
Mir ist grad eingefallen, dass die ATL ja gar nich mehr zum Visual Studio gehört... Vielleicht sollte das Thema doch nach C/C++ verschoben werden.
Zuletzt bearbeitet: