在输入后,我如何编辑用户对其输入的看法
How can I edit what the user sees of their input after it has been entered?
接受如下输入,
char ch = getch();
while(ch != 'r') {
if(ch == 'b') {
// do **something** here to remove the previous character from the stream
} else {
cout << ch;
}
}
我知道流是用来插入和提取数据的。
这是否意味着一旦一些数据被发布到流中,它就会变得不可变?
I/O库中有一个缓冲区,位于进程和最终从终端、磁盘或其他设备读取的OS/Kernel级系统调用之间。
一旦您的进程从I/O库获得字节,您就可以将其存储在数组中,然后您就可以在字节数组上实现"\b"的行为。
因此,每个字节都经过缓冲区的管道,从设备到I/O库再到进程中的缓冲区。您可以在流程中的管线的最后一个阶段执行撤消类型行为,管线的前一个阶段现在是历史记录,您不能更改历史记录。
您可以使用ungetc将已读取的字节推回到I/O库的缓冲区,稍后可以再次读取,但这似乎与您的问题无关。
相关文章:
- C++如何通过用户输入删除列表元素
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 用户定义函数中的指针和输入
- 如何只允许用户输入正整数
- C++如何计算用户输入的数字中的偶数位数
- 通过for循环使用用户输入填充列表
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- 在C++中,我如何接受不同于同一行的用户输入
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 当用户键入分隔符时,停止getline()输入
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 当用户在qtablewidget中输入单元格时,如何获得信号?C++
- 显示基于用户输入的整数的字符
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 如果用户没有输入任何内容或输入错误,如何重新输入用户的输入?
- 为什么在代码块中执行时会跳过输入用户输入的行?
- 使用 for 循环在数组中输入用户