最終更新日時: 2026年02月15日 00時39分52秒 (JST)
K10-K10 が更新

履歴 編集

macro
<csignal>

# SIG_ERR

    #define SIG_ERR see below

## 概要

`signal`関数の戻り値で、シグナルハンドラの設定に失敗したことを示す値。

`signal`関数が失敗した場合、この値が返される。

## 例

    #include <csignal>
    #include <iostream>
    #include <thread>
    #include <chrono>

    volatile std::sig_atomic_t flag = 0;

    void signal_handler(int sig)
    {
      flag = 1;
    }

    int main()
    {
      if (std::signal(SIGINT, signal_handler) == SIG_ERR) {
        std::cerr << "Failed to set signal handler" << std::endl;
        return 1;
      }
      std::cout << "Signal handler set successfully" << std::endl;
      while (!flag) {
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
      }
      return 0;
    }

### 出力例

    Signal handler set successfully

## 関連項目

- `signal`