溫馨提示×

c語言pause函數(shù)怎么使用

小億
547
2023-12-05 02:01:10
欄目: 編程語言

在C語言中,pause()函數(shù)用于使程序暫停執(zhí)行,直到接收到一個(gè)信號(hào)。

pause()函數(shù)在 <unistd.h> 頭文件中聲明,其原型如下:

#include <unistd.h>

int pause(void);

使用pause()函數(shù)時(shí),程序會(huì)進(jìn)入一個(gè)無限循環(huán),直到接收到一個(gè)信號(hào)才會(huì)繼續(xù)執(zhí)行。可以使用 Ctrl+C 組合鍵來發(fā)送 SIGINT 信號(hào)給程序來中斷pause()的等待。

下面是一個(gè)簡單的使用pause()函數(shù)的示例:

#include <stdio.h>
#include <unistd.h>
#include <signal.h>

void handle_signal(int sig) {
    printf("Received a signal: %d\n", sig);
}

int main() {
    signal(SIGINT, handle_signal);  // 注冊信號(hào)處理函數(shù)

    printf("Pause program execution...\n");
    pause();  // 程序暫停等待信號(hào)

    printf("Resume program execution...\n");
    return 0;
}

在上面的示例中,signal()函數(shù)用于注冊信號(hào)處理函數(shù)handle_signal(),當(dāng)接收到 SIGINT 信號(hào)時(shí),會(huì)調(diào)用handle_signal()函數(shù)進(jìn)行處理。然后程序執(zhí)行pause()函數(shù),暫停等待信號(hào)的到來。當(dāng)我們在終端中按下 Ctrl+C 組合鍵時(shí),程序會(huì)接收到 SIGINT 信號(hào),handle_signal()函數(shù)會(huì)被調(diào)用,打印出一個(gè)消息。接著程序繼續(xù)執(zhí)行,打印出"Resume program execution…"消息,最后結(jié)束程序的執(zhí)行。

0