在处理多字节字符时,可以使用getwchar()而不是getchar()。getwchar()函数读取宽字符而不是字节,并且不会在读取多字节字符时出现问题。以下代码示例演示了如何使用getwchar()来解决这个问题。
#include
#include
int main() {
// 读取宽字符
wchar_t ch;
while ((ch = getwchar()) != L'\n') {
if (ch == L'\b') { // 如果是退格符
wprintf(L"\b \b");
} else { // 如果不是则输出字符
wprintf(L"%lc", ch);
}
}
return 0;
}