c++ - 在读取之前预填充 cin

标签 c++ console

我正在用 C++(在 Borland C++ builder 6.0 中)编写一个程序,它通过 cin 和 cout 读取和显示客户数据,并将其存储到数据库 (sqlite) 或从数据库 (sqlite) 读取。 它使用控制台与用户进行交互。

我想实现的是用户可以更新之前写入数据库的客户数据(例如姓名、地址等数据)

当用户要更新客户数据时,我想让他完成与创建客户时相同的步骤/数据,但是现在,用户要输入或修改的数据已经预填充(如读取来自数据库)并且已经显示在控制台上,即写入输入缓冲区 cin,就像用户输入的一样。然后,用户只需按回车键即可转到下一步/数据并保持数据原样。如果用户需要更改或更新数据,他需要更改从数据库中读取并显示的数据,但可以根据需要修改它,然后将其写入/更新到数据库中。

我希望我的意思很清楚。

最佳答案

这无法用 cin/cout 完成(平凡 - 如果你付出足够的努力,几乎任何事情都可以完成,诀窍是知道何时付出努力以更好的方式去做!)。您最好使用某种文本模式 UI 库,例如 ncurses 或类似的库。

我已经写了很多代码来做类似的事情,但我写了自己的一组函数来管理光标位置、验证数据输入、从列表中选择东西等等。你可能需要做一些事情那个。

我还建议您至少考虑使用更现代的编译器。

关于c++ - 在读取之前预填充 cin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14692429/

相关文章:

java - CTRL-C如何与Java程序一起工作

c++ - OpenCL copyto() 消耗更多时间

C++ - 加载所有文件名+计算当前目录中的文件数+过滤文件扩展名

python - 使用 C++ 客户端通过 Zmq 发送 JSON 对象 - Python 服务器

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

javascript - 有 Firebug 控制台 -vsdoc.js 吗?

java - 如何将控制台输出写入txt文件

javascript - Ember 数据 : Get a Model in the Console

git - 无法在终端中显示 Git 树

c++ - 如果为char分配了非char则无限循环