本文整理汇总了C++中FSXSTRING::MakeLower方法的典型用法代码示例。如果您正苦于以下问题:C++ FSXSTRING::MakeLower方法的具体用法?C++ FSXSTRING::MakeLower怎么用?C++ FSXSTRING::MakeLower使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FSXSTRING
的用法示例。
在下文中一共展示了FSXSTRING::MakeLower方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
FSXSTRING *OLETAJA_DCT::konstrui_tyvi(FSXSTRING *tyvi, FSXSTRING *vorm, const FSxOTAB *t)
{
int k;
FSXSTRING tmp1;
tmp1 = t->vorm;
if (tmp1 != *vorm)
return (NULL); // otsitav vorm ei sobi
if (!TaheHulgad::OnLopus(tyvi, t->u_tylp))
return (NULL); // algvormile lisatav t�vel�pp ei sobi
a_tyvi = *tyvi;
a_tyvi = a_tyvi.Left(a_tyvi.GetLength() - FSxSTRLEN(t->u_tylp));
tmp1 = t->a_tylp;
tmp1 = tmp1.Right(t->n);
a_tyvi += tmp1; // algvormi t�vi valmis
if (!TaheHulgad::OnLopus(&a_tyvi,t->a_tylp))
return (NULL); // algvormile lisatav t�vel�pp ei sobi
if (a_tyvi.GetLength() < 3)
return (NULL); // liiga l�hike
// kas algv tyvele h��likuklassid sobivad?
k = FSxSTRLEN(t->meta);
if (k)
{
FSXSTRING tmp;
int i;
tmp = a_tyvi.Left(a_tyvi.GetLength() - FSxSTRLEN(t->a_tylp));
tmp = tmp.Right(k);
if (tmp.GetLength() != k) // string liiga l�hike vms jama
return (NULL);
tmp.MakeLower();
for (i=0; i < k; i++)
{
if ((t->meta[i] == (FSxCHAR)'V' && TaheHulgad::OnTaishaalik(tmp[i])) || tmp[i] == (FSxCHAR)'y')
continue;
if (t->meta[i] == (FSxCHAR)'L' && TaheHulgad::OnLmnr(tmp[i]))
continue;
if (t->meta[i] == (FSxCHAR)'P' && TaheHulgad::OnKpt(tmp[i]))
continue;
if (t->meta[i] == (FSxCHAR)'D' && TaheHulgad::OnKaashaalik(tmp[i]) && (tmp[i]) != (FSxCHAR)'s')
continue;
if (t->meta[i] == (FSxCHAR)'C' && TaheHulgad::OnKaashaalik(tmp[i]))
continue;
if (t->meta[i] == (FSxCHAR)'B' && TaheHulgad::OnKaashaalik(tmp[i]) && !TaheHulgad::OnKpt(tmp[i]))
continue;
return NULL;
}
}
// silbita a_tyvi
SILP s;
s.silbita(&a_tyvi);
if (s.silpe() == 0) // liiga l�hike t�vi vm jama
return (NULL);
s.silbivalted();
k = s.silpe() - s.viimane_rohuline_silp();
ASSERT(k > 0);
// kas a_tyvi silbid sobivad?
if (k < t->min_silpe || k > t->max_silpe)
return (NULL); // vale silpide arv
if (FSxSTRCMP(t->sonaliik, LIIK_VERB)==0)
{
if (TaheHulgad::OnLopus(&a_tyvi, FSxSTR("ne")) && s.silpe() > 3)
return (NULL);
}
// teatud juhtudel v�lte arvestamine
if (!FSxSTRCMP(t->tyypsona, FSxSTR("ragin")))
{ // sobivad ainult 2-silbilised 1. v�ltes s�nad
if (s.silpe() == 2 && k == 2 && s.silbid[0]->valde == 1)
; // OK
else
return (NULL);
}
// et v�ltida asju nagu ��vli -> ��vl
if (k == 1 && TaheHulgad::OnLopus(&a_tyvi, FSxSTR("l")) &&
!TaheHulgad::OnLopus(&a_tyvi, FSxSTR("ll")) &&
!TaheHulgad::OnLopus(&a_tyvi, FSxSTR("rl")) &&
!TaheHulgad::OnLopus(&a_tyvi, FSxSTR("hl")))
{
if (s.silbid[s.viimane_rohuline_silp()]->valde == 3 &&
TaheHulgad::OnKaashaalik(a_tyvi[a_tyvi.GetLength()-2]))
return (NULL);
}
// itaalia nimed
if (TaheHulgad::OnLopus(&a_tyvi, FSxSTR("cc")) && TaheHulgad::OnLopus(tyvi, FSxSTR("cci")))
return (NULL);
return (&a_tyvi);
}
示例2: if
int MORF0::chkhy2(MRFTULEMUSED *tulemus, FSXSTRING *S6nna, int maxtasand, int *tagasi)
{
int i, j;
int res=0;
char rezz, rezz1;
struct lisa {
const FSxCHAR *lubatud_lopp;
const FSxCHAR *lubatud_sl;
const int mitu_eemaldada;
const FSxCHAR *otsa_panna;
} lisakatse[3] = {
{ FSxSTR("0"), FSxSTR("A"), 2, FSxSTR("ne") }, /* +ne */
{ FSxSTR("t"), FSxSTR("AS"), 0, FSxSTR("t") }, /* is+t */
{ FSxSTR("d"), FSxSTR("AS"), 0, FSxSTR("d") } }; /* +d */
int katsenr;
const FSxCHAR *lubatud_liik;
int viimane, lopus_kriips;
int tmp;
int mitu;
int sobiv_an;
CVARIANTIDE_AHEL ctoo_variandid, csobivad_variandid;
FSXSTRING S6na = *S6nna;
int k;
FSXSTRING algus;
FSXSTRING kriips;
FSXSTRING lopp;
FSXSTRING pisialgus;
MRFTULEMUSED ette;
FSXSTRING ettestr;
k = S6na.Find((FSxCHAR)'-');
if (k == -1)
k = S6na.Find((FSxCHAR)'/');
if (k == -1)
return ALL_RIGHT; // ei sisalda '-' ega '/'
algus = S6na.Left(k);
kriips = S6na.Mid(k, 1);
lopp = S6na.Mid(k+1);
if (k==0 && kriips == FSxSTR("-") ) // -sona
{
if (lopp.GetLength()<1)
return ALL_RIGHT;
res = chkwrd(tulemus, &lopp, lopp.GetLength(), maxtasand, tagasi, KOIK_LIIGID/*MITTE_VERB*/);
if (res > ALL_RIGHT)
return res; /* viga! */
if (!tulemus->on_tulem())
{
FSXSTRING pisilopp;
pisilopp = lopp;
pisilopp.MakeLower();
res = chkwrd(tulemus, &pisilopp, pisilopp.GetLength(), maxtasand, tagasi, KOIK_LIIGID);
if (res > ALL_RIGHT)
return res; /* viga! */
}
if (maxtasand < 4) // soovitaja pärast HJK 10.06.2005
return ALL_RIGHT;
if (!tulemus->on_tulem()) /* polnud -sona */
{
*tagasi = 4;
res = chklyh4(tulemus, &lopp, lopp.GetLength()); /* nt. -E */
if (res > ALL_RIGHT)
return res; /* viga! */
}
return ALL_RIGHT;
}
if (maxtasand < 4) // soovitaja p�rast HJK 10.06.2005
return ALL_RIGHT;
if (S6na.GetLength() == 2 && k == 1 && kriips == FSxSTR("-") && TaheHulgad::eestitht.Find(S6na[0])!=-1) // a-
{
tulemus->Add( (const FSxCHAR *)algus, FSxSTR("0"), FSxSTR(""), FSxSTR("Y"), FSxSTR("?, ")); /* parema puudusel */
*tagasi = 4;
return ALL_RIGHT;
}
/* sona-sona-sona-sona... */
viimane = 0;
lopus_kriips = 0;
lopp = S6na;
rezz = mrfFlags.Chk(MF_ALGV); /* algvormi rezhiimi lipp */
rezz1 = mrfFlags.Chk(MF_GENE); /* gene rezhiimi lipp */
for (mitu=0 ;; mitu++)
{
MRFTULEMUSED ajutine_tulemus;
MRFTUL t;
sobiv_an = -1;
k = lopp.Find(kriips);
if ( k==-1 ) /* viimane sonaosa */
{
algus = lopp;
lopp = FSxSTR("");
viimane = 1;
}
else
{
algus = lopp.Left(k);
lopp = lopp.Mid(k+1);
if (lopp.GetLength()==0) // viimane sonaosa; sona-
{
viimane = 1;
lopus_kriips = 1;
//.........这里部分代码省略.........