gpt4 book ai didi

c++ - 在 C++ 中匹配俄语元音

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:56 26 4
gpt4 key购买 nike

我想编写一个函数,如果给定的字符是俄语元音,它会返回 true。但是我得到的结果对我来说很奇怪。这是我到目前为止所得到的:

#include <iostream>

using namespace std;

bool is_vowel_p(char working_char)
// returns true if the character is a russian vowel
{
string matcher = "аяё×эеуюыи";

if (find(matcher.begin(), matcher.end(), working_char) != matcher.end())
return true;
else
return false;
}


void main()
{
cout << is_vowel_p('е') << endl; // russian vowel
cout << is_vowel_p('Ж') << endl; // russian consonant

cout << is_vowel_p('D') << endl; // latin letter
}

结果是:

1
1
0

我觉得奇怪。我期望得到以下结果:

1
0
0

似乎有某种我还不知道的内部机制。我起初对如何修复此功能以使其正常工作感兴趣。其次,我得到了这个结果。

最佳答案

stringchar仅保证代表基本字符集中的字符 - 不包括西里尔字母。

使用 wstringwchar_t ,并添加 L在字符串和字 rune 字之前指示它们使用宽字符,应该允许您使用这些字母。

此外,为了便于携带,您需要包含 <algorithm>对于 find , 并给出 main int 的返回类型.

关于c++ - 在 C++ 中匹配俄语元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16590407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com