কম্পিউটার টিউটোরিয়াল

সি/সি++-এ raise() ফাংশন


raise() ফাংশন প্রোগ্রামে সিগন্যাল পাঠাতে ব্যবহৃত হয়। প্রিডিফাইনড ফাংশন signal() ইনভোক করা হয়। এটি ইমপ্লিমেন্টেড থাকে চেক করার জন্য যে এটি সিগন্যাল ইগনোর করবে নাকি সিগন্যাল হ্যান্ডলার ইনভোক করবে। এটি signal.h হেডার ফাইলে ডিক্লেয়ারড। সফল হলে শূন্য রিটার্ন করে, অন্যথায় নন-জিরো ভ্যালু।

সি ভাষায় raise()-এর সিনট্যাক্স:

int raise(int signal)

এখানে, signal − ইনভোক করার সিগন্যাল নম্বর।

সি ভাষায় raise()-এর উদাহরণ:

উদাহরণ

#include <signal.h>
#include <stdio.h>
void handler(int sig) {
    printf("Signal received : %d\n", sig);
}
int main() {
    signal(SIGILL, handler);
    printf("Sending signal : %d\n", SIGILL);
    raise(SIGILL);
    return 0;
}

আউটপুট

Sending signal : 4
Signal received : 4

উপরের প্রোগ্রামে main() ফাংশনের আগে একটি handler ফাংশন ডিফাইন করা হয়েছে এবং main ফাংশনে signal() ইনভোক করা হয়েছে এবং SIGILL (Signal Illegal Instruction) পাঠানো ও গ্রহণ করা হয়েছে।

signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL);

  1. C/C++-তে rand() এবং srand() ফাংশন

  2. C/C++-তে putwchar() ফাংশন

  3. C/C++-তে mbsrtowcs() ফাংশন

  4. C/C++-তে system() ফাংশন: কম্যান্ড এক্সিকিউশন