【发布时间】:2020-04-11 19:08:22
【问题描述】:
我正在使用 Visual Studio 2019 社区编写 Windows 控制台模式 C 程序。我希望输入流中看到的每个退格键都打印为输出中的 literal 字符串 "\b"。
如何将退格信号捕获到控制台?如果我按 CTRL-H 它会删除前面的字符,但实际上我要 getchar() 来获取相应的值。
while ((c = getchar()) != EOF) {
if (c == '\t') {
printf("\\t");
}
else if (c == '\b')
printf("\\b");
else if (c == '\\') {
printf("\\\\");
}
else
putchar(c);
【问题讨论】:
-
完全不清楚你在问什么 '\b' 是后退空格字符 - 要替换什么? Ctrl-H 是退格的标准 ASCII CTRL 序列,它适用于 Windows cmd 和 powershell,但退格也是如此。我不知道“Visual Studio 调试控制台”指的是什么。你实际上是在使用 VS Code 而不是 VS?
-
在 Windows
cmd控制台中也是8。printf("Hello%cu", 8);输出Hellu。 -
@Clifford,我希望我已经做出了有用的澄清。
标签: c visual-studio getchar putchar