258
ne wskazówki
int RExp::IChlnSz(unsigned char chSrc, const char *pch, int cch)
{
_asm
{
xor eax, eax mov al, chSrc mov edi, pch mov ecx, cch cld
repnz scasb jz Found xor eax, eax jmp End Found:
mov eax, cch ; cch - cchFound daje nam właściwy znak, jeśli scasb zmniejszy ; licznik przed wyszukaniem wartości.
sub eax, ecx End:
dec eax ; Ponieważ musimy zwrócić indeks, należy odjąć 1 od liczby
; przetworzonych znaków.
}
}
#pragma warning( default: 4035 )
BOOL RExp::FSpecialChar(char chToken, char chSrc)
{
switch(chToken)
{
case 'd':
return FlsDigitRExp(chSrc); case 'D':
return !FlsDigitRExp(chSrc); case 'w':
return FlsWordCharRExp(chSrc); case 'W':
return !FlsWordCharRExp(chSrc); case 's':
return FlsWhiteRExp(chSrc); case 'S':
return !FlsWhiteRExp(chSrc); default:
return (chToken == chSrc);
}
}
Wyszukiwarka
Podobne podstrony:
Język C++ - praktyczne wskazówki Po class Napis { private: const int m_cchTest; int m_cch; charSlajd23 Przykład opracowanych funkcji we/wy w Microsoft Visual C+^ unsigned char lnpByte(short int p41888 PA170035 Typ IlośćPo class Napis{ private: const int m_cchTest; int m_cch; char *m_pch; void lnicjNapis(const cha140 TIF char *m_pch; public: int operator==(const Napis& napis) const{ return(strcmp(m_pch, napi• typy danych:— typy całkowite: char (zakres od —128 do 127) unsigned char (zakresTyp Ilość bitów Zakres signed char 8 -128 < 2 < 127 unsigned char 8 0 < 2 <const Literał &operator=(const char *pch){ // Wskazówka 42. // Wskazówka 43. // Wskazówka068 TIF unikanie nieoczekiwanych wynikówUżywanie deklaracji const *Przed void Napis::lnicjNapis(charwięcej podobnych podstron