本文整理汇总了C++中CFSWString::SetAt方法的典型用法代码示例。如果您正苦于以下问题:C++ CFSWString::SetAt方法的具体用法?C++ CFSWString::SetAt怎么用?C++ CFSWString::SetAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFSWString
的用法示例。
在下文中一共展示了CFSWString::SetAt方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: chars_to_phones_part_I
CFSWString chars_to_phones_part_I(CFSWString &s) {
CFSWString res;
for (INTPTR i = 0; i < s.GetLength(); i++) {
CFSWString c = s.GetAt(i);
if (c == L']') {
CFSWString t = CFSWString(s.GetAt(i - 1)).ToUpper();
res.SetAt(res.GetLength() - 1, t.GetAt(0));
//vaatab taha; pole kindel, et kas on vajalik
t = CFSWString(s.GetAt(i - 2)).ToUpper();
if (can_palat(t)) {
res.SetAt(res.GetLength() - 2, t.GetAt(0));
t = CFSWString(s.GetAt(i - 3)).ToUpper();
if (can_palat(t)) {
res.SetAt(res.GetLength() - 2, t.GetAt(0));
}
}
//vaatab ette
t = CFSWString(s.GetAt(i + 1)).ToUpper();
if (can_palat(t)) {
s.SetAt(i + 1, t.GetAt(0));
t = CFSWString(s.GetAt(i + 2)).ToUpper();
if (can_palat(t)) {
s.SetAt(i + 2, t.GetAt(0));
}
}
} else
if (c == L'<') {
CFSWString t = CFSWString(s.GetAt(i + 1)).ToUpper();
s.SetAt(i + 1, t.GetAt(0));
} else
if (c == L'?') {
}//Ebanormaalne rõhk. Pärast vaatab, mis teha
else
if (c == L'x') res += L"ks";
else
if (c == L'y') res += L"i";
else
if (c == L'w') res += L"v";
else
if (c == L'z') res += L"ts";
else
if (c == L'c') {
res += L"k";
} else
if (c == L'ü' && is_vowel(s.GetAt(i + 1)) && s.GetAt(i - 1) == L'ü')
res += L"i";
else
res += c;
}
return res;
}
示例2: chars_to_phones_part_I
CFSWString chars_to_phones_part_I(CFSWString &s) {
/* müüa -> müia siia?
Kuna vältemärgi nihutamise reeglid on ehitatud selliselt, et kohati kasutatakse
foneeme ja kohati ei, siis tuleb täht->foneem teisendus teha kahes jaos.
Palataliseerimine põhineb ideel, et palataliseeritud foneemi ümbruses ei saa
olla palataliseeruvaid mittepalataliseeritud foneeme :D
*/
CFSWString res;
for (INTPTR i = 0; i < s.GetLength(); i++) {
CFSWString c = s.GetAt(i);
if (c == L']') {
CFSWString t = CFSWString(s.GetAt(i - 1)).ToUpper();
res.SetAt(res.GetLength() - 1, t.GetAt(0));
//vaatab taha; pole kindel, et kas on vajalik
t = CFSWString(s.GetAt(i - 2)).ToUpper();
if (can_palat(t)) {
res.SetAt(res.GetLength() - 2, t.GetAt(0));
t = CFSWString(s.GetAt(i - 3)).ToUpper();
if (can_palat(t)) {
res.SetAt(res.GetLength() - 2, t.GetAt(0));
}
}
//vaatab ette
t = CFSWString(s.GetAt(i + 1)).ToUpper();
if (can_palat(t)) {
s.SetAt(i + 1, t.GetAt(0));
t = CFSWString(s.GetAt(i + 2)).ToUpper();
if (can_palat(t)) {
s.SetAt(i + 2, t.GetAt(0));
}
}
} else
if (c == L'<') {
CFSWString t = CFSWString(s.GetAt(i + 1)).ToUpper();
s.SetAt(i + 1, t.GetAt(0));
} else
if (c == L'?') {
}//Ebanormaalne rõhk. Pärast vaatab, mis teha
else
if (c == L'x') res += L"ks";
else
if (c == L'y') res += L"i";
else
if (c == L'w') res += L"v";
else
if (c == L'z') res += L"ts";
else
if (c == L'c') {
res += L"k";
} else
if (c == L'ü' && is_vowel(s.GetAt(i + 1)) && s.GetAt(i - 1) == L'ü')
res += L"i";
else
if (c == L'q') {
if (is_vowel(s.GetAt(i + 1))) {
res += L"k";
s.SetAt(i + 1, L'v');
} else
res += L"k";
} else
res += c;
}
return res;
}