C:将所有特殊字符转换为等效字符(é=> e)

时间:2010-11-01 17:51:39

标签: c function ascii

我需要用C编写一个Caesar密码,所以我一步一步地去理解我正在做的一切。

我需要照顾特殊的字符 例如:如果用户输入

“这是一个幻想!” 它将把它转换成  “这是一个似曾相识”

是否有一个C函数可以执行此操作而不是手动为ASCII代码中的每个特殊字符执行此操作?

这是我要避免的:

case -85 :
case -86 :
case -87 :
case -88 :
    *p = 'e';

2 个答案:

答案 0 :(得分:6)

  

是否有一个C函数可以执行此操作而不是手动为ASCII代码中的每个特殊字符执行此操作?

当您选择ASCII//TRANSLIT作为目标编码时,

Iconv会执行您想要的操作。

答案 1 :(得分:2)

问题是'等效'取决于你的文化 ü(u-umlaut)是等同于u还是'oe'?