如何在C中暂停?

时间:2011-02-02 00:19:22

标签: c

我是C的初学者。我运行C程序,但窗口关闭得太快,才能看到任何东西。我该如何暂停窗口?

11 个答案:

答案 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()函数

  • kbhit()函数用于确定是否按下了某个键。
  • 要在C或C ++ prorams中使用kbhit(),您必须包含头文件“conio.h”。

例如,请参阅以下程序中的工作方式;

//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.