C: Преобразование всех специальных символов в эквивалент (é => e) - PullRequest
4 голосов
/ 01 ноября 2010

Мне нужно кодировать шифр Цезаря в C, поэтому я работаю шаг за шагом, чтобы понять все, что я делаю.

Мне нужно позаботиться о специальных символах пример: если пользователь вводит

"Это дежави!" это преобразует это в "Это дежавю"

Есть ли функция C, способная сделать это вместо того, чтобы делать это вручную для каждого специального символа в коде ASCII?

Вот чего я пытаюсь избежать:

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

Ответы [ 2 ]

6 голосов
/ 01 ноября 2010

Есть ли функция C, способная сделать это вместо того, чтобы делать это вручную для каждого специального символа в коде ASCII?

Iconv будет делать то, что вы хотите, когда вы выбираете ASCII//TRANSLIT в качестве целевой кодировки.

2 голосов
/ 01 ноября 2010

Проблема в том, что «эквивалент» зависит от вашей культуры. Ü (u-umlaut) эквивалентно вам или 'oe'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...