我是c ++新手,
我应该编写什么代码才能使屏幕静止不动。我用
getche();
用c语言编写。但不是getche()
我应该在c ++中使用什么;
我试过了
std::cin.get();
但控制台窗口会显示然后快速关闭。
答案 0 :(得分:3)
控制台窗口显示然后快速关闭。
您的缓冲区中似乎有一些内容,而cin.get
正在将其作为一个字符读取。例如:
int i = 0;
std::cin >> i;
std::cin.get();
当您输入数字并按Enter键时,cin >> i
将使用该数字,但它将在缓冲区中保留\n
字符(来自Enter键击),{{1}将读取该字符。无需等待用户输入新数据。
为了使这个例子表现得像我们想要的那样,我们需要在调用std::cin.get()
之前清空缓冲区:
std::cin.get()
int i = 0;
std::cin >> i;
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.get();
在std::numeric_limits
头文件中定义。
答案 1 :(得分:0)
在Windows中,我通常使用system("pause");
来调用操作系统的pause
命令,以防止在程序终止后关闭控制台窗口。此命令显示一条很好的消息并等待任何密钥:)。
按任意键继续。 。
我不知道该命令是否存在于其他操作系统中,也不知道它是否是您要存档的内容:)。
该功能位于cstdlib
或stdlib.h
头文件
最后但同样重要的是,在最后一行代码中调用getch()以防止控制台被关闭并不是一个好主意。但如果你真的喜欢这种方式,我建议使用像
这样的东西std::string temp;
std::cin>>temp;
在主函数的末尾,就在return
语句之前。
答案 2 :(得分:0)
只需加入<stdlib.h>
,在主要方法中使用system("pause")
您的控制台窗口将保持不变。
答案 3 :(得分:-1)
请使用以下
的getch()