我是C的初学者。我运行C程序,但窗口关闭得太快,才能看到任何东西。我该如何暂停窗口?
答案 0 :(得分:40)
你可以把
getchar();
从主函数返回之前。这将在退出程序之前等待字符输入。
或者,您可以从命令行运行程序,输出将是可见的。
答案 1 :(得分:6)
如果您只想延迟关闭窗口而无需实际按下按钮(getchar()
方法),则可以使用sleep()
方法;需要将秒的数量作为参数进行休眠。
#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds
参考文献: sleep() manual
答案 2 :(得分:5)
它是一个在Windows中运行的控制台程序吗?如果是这样,请从已打开的控制台运行它。即运行“cmd”,然后切换到其中包含.exe的目录(使用cd命令),然后输入exe名称。您的控制台窗口将保持打开状态。
答案 3 :(得分:3)
在POSIX系统下,最佳解决方案似乎使用:
#include <unistd.h>
pause ();
如果进程收到一个信号,其效果是终止它(通常在终端中键入 Ctrl + C ),那么pause
将不会返回并且该信号将有效地终止该过程。更高级的用法是使用信号捕获函数,在接收到相应的信号时调用,之后pause
返回,恢复该过程。
注意:使用getchar()
将无效,标准输入会被重定向;因此这是更普遍的解决方案。
答案 4 :(得分:2)
如果您正在制作控制台窗口程序,则可以使用system(“pause”);
答案 5 :(得分:1)
我假设你在Windows上。通过双击它的图标或单击IDE中的按钮来尝试运行程序,打开命令提示符,cd到程序所在的目录,然后在命令行中键入其名称来运行它。
答案 6 :(得分:1)
getch()
,它在conio.h中定义。
示例程序如下所示:
#include <stdio.h>
#include <conio.h>
int main()
{
//your code
getch();
return 0;
}
getch()
等待键盘输入的任何字符(不一定输入密钥)。
答案 7 :(得分:1)
您也可以使用system("pause");
答案 8 :(得分:1)
我记得有关DOS批处理文件的好工作。 根本不需要Getchar()。 只需编写批处理文件即可将目录(cd)更改为程序所在的文件夹。 键入exe程序的名称,然后在下一行键入pause。 例如:
cd\
wallpaper_calculator.exe 暂停
答案 9 :(得分:1)
我不是最擅长 C 语言,而且我是新手;但这是我会做的。
如果您想按任意键继续/结束程序。我会创建一个 void 函数 pause()。
index.js
对于代码之间的时间延迟,您可以使用 sleep()、sleep(1) = 1 秒延迟等。
答案 10 :(得分:0)
对于Linux;就是你需要的getchar()。
如果您使用的是Windows,请查看以下内容,这正是您所需要的!
kbit()函数
例如,请参阅以下程序中的工作方式;
//any_key.c
#include <stdio.h>
#include <conio.h>
int main(){
//code here
printf ("Press any key to continue . . .\n");
while (1) if (kbhit()) break;
//code here
return 0;
}
当我编译并运行程序时,this就是我所看到的。
只有当用户只按键盘上的一个键时, kbhit()才会返回1.