跳转至

常用代码示例

1 信号处理

当你在 C 语言中编写程序时,你可以使用信号处理来捕获和处理操作系统发送的不同信号。这些信号可以用于通知程序发生了某些事件,如键盘中断、程序错误等。以下是一个简单的 C 语言信号处理示例,演示了如何在程序中处理SIGINT信号(即键盘中断,通常由 Ctrl+C 触发):

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

// 定义信号处理函数
void handle_signal(int signum) {
    if (signum == SIGINT) {
        printf("Received SIGINT (Ctrl+C) signal. Exiting...\n");
        exit(0);
    }
}

int main() {
    // 注册信号处理函数
    signal(SIGINT, handle_signal);

    printf("Running. Press Ctrl+C to exit.\n");

    // 模拟程序运行,可以用于测试信号处理
    while (1) {
        // 空循环
    }

    return 0;
}

在这个示例中,我们首先定义了一个handle_signal函数作为信号处理程序。当程序收到SIGINT信号(即 Ctrl+C)时,该函数会打印一条消息并调用exit函数来退出程序。

然后,在main函数中,我们使用signal函数来注册我们定义的信号处理函数,告诉操作系统当SIGINT信号发生时要调用handle_signal函数。