在C++中,可以用SPACE代替ENTER进行输入吗
Can SPACE, instead of ENTER, be used to take input in C++?
我正在为运算符重载编写一个非常简单的C++程序,但遇到了一个问题。我想用空格输入,而不是输入。我基本上想使用运算符>gt;但问题是,在输入虚部之前+i("但按enter键时,光标会移动到终端的下一行。我该如何避免这种情况?"?这就是输入正在做的事情。
istream &operator>>(istream &i, Complex &num){
cout << "(";
i>>num.a;
cout << ")+i(";
i>>num.b;
cout << ")" << endl;
return i;
}
这就是输入的样子。
(-1
)+i(5
)
这就是我希望输入的样子。
(-1)+i(5)
之所以只在输入后才向std::cin
提供信息,是因为默认情况下标准输入是缓冲的。使其不缓冲可以让您控制何时立即处理或何时缓冲输入。
这取决于平台,但在*nix系统中运行:
$stty原始&;stty回波
这使得输入(和输出(不缓冲,同时保留回声(这样您就可以看到您的输入(。
当读取整数时,程序将立即使用任何分隔符进行响应。
示例:
int main() {
while (std::cin) {
int a, b;
std::cout << "( ";
std::cin >> a;
std::cout << ") +i ( ";
std::cin >> b;
std::cout << ")= " << a << " + " << b << 'i' << "rn";
// Note that we need to return cursor to leftmost ^ position
}
}
运行:
g++测试.cpp&;stty原始&;stty echo&/a.out
输出(输入="1 2 3 4 5 6":(
( 1 ) + i( 2 ) = 1 + 2i
( 3 ) + i( 4 ) = 3 + 4i
( 5 ) + i( 6 ) = 5 + 6i
( |
相关文章:
- 我应该使用什么来代替void作为变体中的替代类型之一
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 用' . '代替' :: '会在C++中造成歧义吗?
- 修复完成输入后重复"enter names of teacher"?
- 在 wxWidgets 中的 wxTextCtrl 上手动触发 ENTER 键按下事件C++?
- 我如何使它,无论用户用空白字符串按 Enter 多少次,它总是打印"开始"字符串?
- 使用什么代替"静态常量 TCHAR *"
- 我怎样才能代替使用新的使用malloc翻译
- 如果我按enter键,我如何退出c++中的循环
- 指向矢量元素的持久指针代替"this"
- 使用 std::<T>unique_ptr& 代替 std::unique_ptr 有什么好处<T>吗?
- 当 ||在 std::atomic 中使用运算符代替 &&?
- 大多数代码不仅显示欢迎消息和"enter pin"?
- 使用 dllimport 代替 dllexport
- 如何防止按 Enter 后命令行关闭
- 在 SFML 中不使用动态内存时显示白色纹理代替实际纹理
- 我可以用什么代替strstream::freeze?
- 如何使用多核代替多核进行编程
- C :在f的派生类实现中,可以用x的子类型代替纯虚拟函数f的参数x