Я использую замазку (версия .70) и тип набора символов UTF-8 включен. Запуск программы C на машине CentOS также является переменной среды $LANG
устанавливается как en_GB.UTF-8. Я получаю пользовательский ввод (через scanf) как UTF-8 (например: 中国 话 不用) для подсчета символов UTF-8. Это нормально, но я хочу снова изменить пользовательский ввод (через scanf) (для примера: 中国 话) с существующего. Если я хочу изменить пользовательский ввод, мне нужно дважды нажать клавишу «backspace», чтобы удалить одиночный UTF-8 символ Почему это не работает в окне вывода?
Вы можете видеть пространство между курсором и следующим символом, что приводит к неправильному счету. Как решить эту проблему
stdin
поэтому вы набираете китайские иероглифы и вдруг говорите об удалении символов, просто чтобы завершить вопросом о выводе, о котором вы никогда не упоминали до этого момента.