C99 – Advance Function (Part-2) in c language in hindi , system , getenv , getenv_s , signal 

By  
system , getenv , getenv_s , signal , C99 – Advance Function (Part-2) in c language in hindi :-
इससे पहले वाले article मे ,हम प्रोग्राम को terminate करने के लिए किया जाता है अब इस article मे , हम एसे function को पढेगे जिससे किसी environment से कम्युनिकेशन कर सकते है | एसे function होते हिया :-
1. system
इस function का use environment command processor को call किया जाता है |इस function से कोई special value return होती है |इस function मे , command को pass किया जाता है |यहा पर command एक null pointer होता है |command के value command processor से check होती है अगर command processor exits होती तब function non zero value return होती है |
यह पर command एक character string होती जो की command environment द्वारा identify होती है|इस function से implementation defined value return होती है |
इसका उदहारण है :
#include<stdio.h>
#include<conio.h>
void main()
{
system(“month + %A”);
getch();
}
यहा पर  month + %A एक UNIX command है जो की सिस्टम मे फीड month value को return करता है |
2. getenv , getenv_s
इस function का use , किसी environment से किसी variable को search करने के लिए किया जाता है |in function का use निन्म condition मे हो सकता है :-
1.अगर किसी environment लिस्ट मे से environment variable को serach किया जाता है और एक string की value को एक pointer मे  return कर देते है|इस function का use setenv () , unsetenv () और putenv() के साथ किया जाता है |
setenv () : इस function का use , getenv () से मिलने वाली string value को किसी variable मे set करने के लिए किया जाता है |
unsetenv () :इस function का use , getenv () से मिलने वाली string value को किसी variable मे unassigned करनेके लिए किया जाता है |
putenv():इस function का use , getenv () से मिलने वाली string value को किसी variable मे assign करनेके लिए किया जाता है |
इसका syntax होता है :
char getenv(const char *name);
errno_t getenv_s(size_t *restrict length , char *restrict v , rsize_value , const char *restrict name  );
इसमें
name : ये null terminate chrecter string है जो की environment मे सर्च किये जाने वाले variable को नाम को hold करता है |
length : ये environment variable की length को point आउट करता है |
value : ये array है जिसमे की environment के सभी variable एक एक करके store होता है |
इस function से chrecter string return होती अगर वो मिल जाती है अन्यथा null pointer return होता है अगर variable नहीं मिलता है |
उदाहरण के लिए :
#include<stdio.h>
#include<conio.h>
void main()
{
char *path = getenv(“PATH”);
if(path)

 

{
printf(” Path in program = %s”,path);

 

getch();
}
इस function मे उपस्थित PATH को serach किया जाता जाता है |
आउटपुट होगा :
Path in program = /user /path/c
कुछ signal और macro जो की signal management मे use किये जाते है ये निन्म है :-
1. signal
इस handler का use , किसी signal handler को particular signal से set करने के लिए किया जाता है |जब किसी प्रोग्राम मे signal handler को call किया जाता है तब ये default set हो जाते है लेकिन हम इस ओप्प्तिओं से मैन्युअल set  कर सकते है |
जब किसी handler को function से set किया जाता है और signal को call किया जाता है तब signal handler मे define function ,signal handler के तुरत बाद ही implement होगा |
इस function मे दो argument pass होते है :-
1.i-signal : ये signal की value जिसे signal handler मे set करना है |
1.ii-handler : ये signal handler की value होती |
इस function से पहले वाला handler की value return होती अगर function successfully return हो जाता है |अन्यथा failure return होती है |
2. signal handler
signal मे तीन प्रकार के signal handler होते है :-
2.i- SIG_DFL: ये signal handler का default value होती है |
2.ii- SIG_IGN : इसे signal ignore कहते है इसमें signal को इगनोरे किया जता है |
2.iii-pointer : ये किसी function का pointer होता है जिसे signal handler मे set किया जाता है |
3. signal macro 
signal function मे दो parameter पास होते है एक signal macro और signal handler |signal macro signal के type को define करता है |ये ch प्रकार के होते है |
1.SIGTERM : इस signal से signal handler को प्रोग्राम को terminate करने का message दिया जाता है |
2.SIGSEGV: इस signal से signal handler को प्रोग्राम मे invalid memory access करने का message दिया जाता है |
3.SIGINT: इस signal से signal handler को प्रोग्राम को external; intrupt करने का message दिया जाता है |
4.SIGILL: इस signal से signal handler को प्रोग्राम मे invalid image आने का message दिया जाता है |
5.SIGABRT: इस signal से signal handler को प्रोग्राम को sudden terminate करने का message दिया जाता है |
6.SIGPE : इस signal से signal handler को प्रोग्राम मे errornous arithmatic operation  करने का message दिया जाता है |
4. raise
इस function का use signal function से set की गयी signal value को प्रोग्राम मे execute करने के लिए सेंड किया जाता है |
ये signal-raise यूजर define handleing होती है जिसमे प्रोग्राम को कभी कभी control किया जा सकता है |
इसमें केवल एक ही parameter को pass किया जाता है |जो signal का प्रकार होता है |
ये function ‘0’ return करता है अगर operation success हो जाता है |और ‘1’ return करता है अगर operation unsuccess नहीं होता है |
5.sig_atomic_t
ये एक signal है जिसका type integer है |इसका use किसी artificial एंटिटी को access करने के लिए किया जाता है |
C99 – Advance Function (Part-1 ) और C99 – Advance Function (Part-2) मे सभी external फ़ुन्क्तिओन्को पढ़ चुके है |