首先我要承认我仍然是一个相当初学者。我大约半年前开始学习c,几天前开始学习c++,所以请不要对我太苛刻:)。
你可能知道下面的问题:您编写了一个在控制台中运行的小程序,并希望用户输入一些内容。当然,当用户输入错误的东西时,这是非常不方便的,所以我们必须做好准备,以防任何小孩子像疯子一样在键盘上黑客攻击。
大多数函数等待有效的输入,这导致了当用户只按enter键时出现令人讨厌的换行问题。
这个问题在linux下通常也很容易解决:使用getchar读取一个字符,使用ANSI转义序列确定光标的位置,并提供一个do while循环。
BUT:我找不到一个简单的函数能以同样优雅的方式读取数字。该函数必须能够读入数字,但也能够防止换行。为了实现这一点,我使用getchar并将字符存储在一个字符数组中,然后将其索引转换为相应的数字,然后将其添加到实际数字中。
但是也许有更简单的方法?或者你有如何优化函数的想法?
#include <iostream>
#include "TheGameHeaders.h"
#define CLEAR_LINE printf("