gpt4 book ai didi

c++ - 将所有重音字母更改为 C++ 中的普通字母

转载 作者:IT老高 更新时间:2023-10-28 22:35:25 25 4
gpt4 key购买 nike

问题

如何在 C++(或 C)中将所有重音字母更改为普通字母?

我的意思是像 eéèêaàaaâçc 这样的东西会变成 eeeeaaaacc

我已经尝试过的

我尝试过手动解析字符串并逐个替换它们,但我认为必须有一种我不知道的更好/更简单的方法(保证我不会忘记任何重音字母)。

我想知道标准库中是否已经有一个映射,或者是否所有重音字符都可以使用一些数学函数轻松映射到“正常”字母(例如 floor(charCode-131/5 ) + 61)).

最佳答案

char* removeAccented( char* str ) {
char *p = str;
while ( (*p)!=0 ) {
const char*
// "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
tr = "AAAAAAECEEEEIIIIDNOOOOOx0UUUUYPsaaaaaaeceeeeiiiiOnooooo/0uuuuypy";
unsigned char ch = (*p);
if ( ch >=192 ) {
(*p) = tr[ ch-192 ];
}
++p; // http://stackoverflow.com/questions/14094621/
}
return str;
}

关于c++ - 将所有重音字母更改为 C++ 中的普通字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094621/

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