Помогите разобраться с AtlRegExp
От: r052dc Россия  
Дата: 17.01.04 09:26
Оценка:
Здравствуйте.
Помогите разобраться с AtlRegExp.

Этот код работает (взят из MSDN)
#include <atlrx.h>
...
CAtlRegExp<> re;
re.Parse( "{[0-9]+}-{[0-9]+}" );
CAtlREMatchContext<> mc;
re.Match( _T("100-1234"), &mc );

но если в строке присутствует любая
русская буква
re.Match( _T("ы100-1234"), &mc );

выскакивает ошибка:
Unhandled exception at 0x0048a5c8 in REX.exe: 0xC0000005:
Access violation reading location 0x20da54df.

Знающию люди, подскажите что к чему.

17.01.04 15:02: Перенесено модератором из 'C/C++' — ПК
Re: Помогите разобраться с AtlRegExp
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 17.01.04 14:19
Оценка: 10 (1)
Здравствуйте, r052dc, Вы писали:

R>Здравствуйте.

R>Помогите разобраться с AtlRegExp.

CAtlRegExp и русские сиволы
Автор: avlit
Дата: 24.05.02
?
Re[2]: Помогите разобраться с AtlRegExp
От: r052dc Россия  
Дата: 18.01.04 23:07
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, r052dc, Вы писали:


R>>Здравствуйте.

R>>Помогите разобраться с AtlRegExp.

OE>CAtlRegExp и русские сиволы
Автор: avlit
Дата: 24.05.02
?


спасибо за ссылку.

Ознакомился с этой инфой.
Следовал приведенным рекомендациям:
1. добавил русский CharTraits
2. исправил “ошибку” в atlrx.h (04.08.01) в строке 520

Не смотря на это (даже на другом компе пробовал):
Unhandled exception at 0x0048a5c8 in REX.exe: 0xC0000005: Access violation reading location 0x20da554f.

После ошибки отсылает на строку 639 в atlrx.h

Помогите разобраться. Буду благодарен.
Re: Помогите разобраться с AtlRegExp
От: KaSA  
Дата: 26.01.04 11:26
Оценка: 3 (1)
Здравствуйте, r052dc, Вы писали:

R>Здравствуйте.

R>Помогите разобраться с AtlRegExp.

R>Этот код работает (взят из MSDN)

R>
R>#include <atlrx.h>
R>...
R>CAtlRegExp<> re;
R>re.Parse( "{[0-9]+}-{[0-9]+}" );
R>CAtlREMatchContext<> mc;
R>re.Match( _T("100-1234"), &mc );
R>

R>но если в строке присутствует любая
R>русская буква
R>
R>re.Match( _T("ы100-1234"), &mc );
R>

R>выскакивает ошибка:
R>Unhandled exception at 0x0048a5c8 in REX.exe: 0xC0000005:
R>Access violation reading location 0x20da54df.

R>Знающию люди, подскажите что к чему.


Не знаю, что за ошибка, но в свое время я делал так:

CAtlRegExp<CAtlRECharTraitsW> re;
re.Parse(L"{[0-9]+}-{[0-9]+}");
CAtlREMatchContext<CAtlRECharTraitsW> mc;
re.Match(L"ы100-1234"), &mc );

Это самый безболезненный способ, и править ничего не надо. Unicode, пинимаешь ли
Re[2]: Помогите разобраться с AtlRegExp
От: r052dc Россия  
Дата: 30.01.04 10:51
Оценка:
Здравствуйте, KaSA, Вы писали:

KSA>Не знаю, что за ошибка, но в свое время я делал так:

KSA>
KSA>CAtlRegExp<CAtlRECharTraitsW> re;
KSA>re.Parse(L"{[0-9]+}-{[0-9]+}");
KSA>CAtlREMatchContext<CAtlRECharTraitsW> mc;
KSA>re.Match(L"ы100-1234"), &mc );
KSA>

KSA>Это самый безболезненный способ, и править ничего не надо. Unicode, пинимаешь ли

Огромное спасибо!!!
Теперь все работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.