加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 寒冷魔王 于 2014-12-27 22:42 编辑
// 在主空间: #include <conio.h> enum Key { up = 72, down = 80, left = 75, right = 77, esc = 27, enter = 13 }; // 在某一函数内部: enum Key move; for (char key = _getch();; key = _getch()) { if (key == Key::up || key == Key::down || key == Key::left || key == Key::right) { move = static_cast<Key>(key); break; } else if() {} // 还有其他判断 }
// 在主空间:
#include <conio.h>
enum Key { up = 72, down = 80, left = 75, right = 77, esc = 27, enter = 13 };
// 在某一函数内部:
enum Key move;
for (char key = _getch();; key = _getch())
{
if (key == Key::up || key == Key::down || key == Key::left || key == Key::right)
{
move = static_cast<Key>(key);
break;
}
else if() {} // 还有其他判断
}
我怎么总感觉写得繁琐了。C++有没有比较简便的写法?(在不影响效率的前提下)
另外:
conio.h据说是Win的库,有没有C++的标准函数达到_getch()的目的?(查了半天没查到)
注:IDE:VS2013,我希望写一段通用的代码,可以普遍地运行在Linux等系统上。
还是不用switch了,用switch显得乱,而且代码字节数一比还多许多。
主要是esc和enter判断比较长,用switch反而不如else if。
另:
何故?
求救:精通C系者R君 全能大触T君 |