System (jazyk C): Rozdiel medzi revíziami
(Jedna medziľahlá úprava od jedného ďalšieho používateľa nie je zobrazená) | |||
Riadok 12: | Riadok 12: | ||
</source> | </source> | ||
− | + | ==Podrobný popis funkcie== | |
− | Funkcia system spustí systémový príkaz, alebo externý program. Akonáhle vykonanie príkazu ukončené, procesor vráti kontrolu nad programom späť do programu a vráti hodnotu (zvyčajne int), s ktorou skončil volaný program. | + | Funkcia system spustí systémový príkaz, alebo externý program. Akonáhle vykonanie príkazu ukončené, procesor vráti kontrolu nad programom späť do programu a vráti hodnotu (zvyčajne ''int''), s ktorou skončil volaný program. |
− | Pri použití hodnoty argumentu funkcie NULL môžeme zistiť, či máme k dispozícii procesor príkazov. | + | Pri použití hodnoty argumentu funkcie ''NULL'' môžeme zistiť, či máme k dispozícii procesor príkazov. |
− | + | ==Parametre== | |
;command:Reťazec určujúci ktorý príkaz sa má vykonať. | ;command:Reťazec určujúci ktorý príkaz sa má vykonať. | ||
===Návratová hodnota=== | ===Návratová hodnota=== | ||
− | Návratová hodnota v prípade, že argument nie je NULL závisí od prostredia v ktorom je program spustený (Win, Unix, ...) | + | Návratová hodnota v prípade, že argument nie je ''NULL'' závisí od prostredia v ktorom je program spustený (Win, Unix, ...) |
Vo viacerých systémoch je hodnota 0 použitá v prípade ak sa požadovaná akcia skončila úspechom. Pre indikáciu chyby sú použité hodnoty rôzne od 0. | Vo viacerých systémoch je hodnota 0 použitá v prípade ak sa požadovaná akcia skončila úspechom. Pre indikáciu chyby sú použité hodnoty rôzne od 0. | ||
− | Ak je argument NULL, funkcia vráti nenulovú hodnotu v prípade ak je procesor príkazov k dispozícii. V prípade ak nie je k dispozícii vráti hodnotu 0. | + | Ak je argument ''NULL'', funkcia vráti nenulovú hodnotu v prípade ak je procesor príkazov k dispozícii. V prípade ak nie je k dispozícii vráti hodnotu 0. |
− | + | ==Príklad== | |
<source lang="c" line> | <source lang="c" line> | ||
− | |||
#include <stdio.h> | #include <stdio.h> | ||
#include <stdlib.h> | #include <stdlib.h> | ||
− | int main () | + | int main() |
{ | { | ||
int i; | int i; | ||
− | printf (" | + | printf("Kontrola dostupnosti procesora..."); |
− | if (system(NULL)) puts (" | + | if (system(NULL)){ |
− | + | puts("OK"); | |
− | printf (" | + | }else{ |
− | i=system ("dir"); | + | exit(1); |
− | printf (" | + | } |
+ | printf("Vykonavanie prikazu DIR...\n"); | ||
+ | i = system("dir"); | ||
+ | printf("Vratena hodnota je: %d.\n", i); | ||
return 0; | return 0; | ||
} | } | ||
</source> | </source> | ||
− | + | ==Referencie== | |
* http://www.cplusplus.com/reference/clibrary/cstdlib/system/ | * http://www.cplusplus.com/reference/clibrary/cstdlib/system/ |
Aktuálna revízia z 22:01, 19. máj 2020
<ctype.h> | <limits.h> | <stdio.h> | <stdlib.h> | <math.h> | <string.h> | <time.h> |
---|---|---|---|---|---|---|
isalnum |
printf |
system |
Funkcia system
knižnica | stdlib.h |
popis | spustí externý program |
Úplný funkčný prototyp:
int system (const char * command);
Podrobný popis funkcie
Funkcia system spustí systémový príkaz, alebo externý program. Akonáhle vykonanie príkazu ukončené, procesor vráti kontrolu nad programom späť do programu a vráti hodnotu (zvyčajne int), s ktorou skončil volaný program.
Pri použití hodnoty argumentu funkcie NULL môžeme zistiť, či máme k dispozícii procesor príkazov.
Parametre
- command
- Reťazec určujúci ktorý príkaz sa má vykonať.
Návratová hodnota
Návratová hodnota v prípade, že argument nie je NULL závisí od prostredia v ktorom je program spustený (Win, Unix, ...) Vo viacerých systémoch je hodnota 0 použitá v prípade ak sa požadovaná akcia skončila úspechom. Pre indikáciu chyby sú použité hodnoty rôzne od 0. Ak je argument NULL, funkcia vráti nenulovú hodnotu v prípade ak je procesor príkazov k dispozícii. V prípade ak nie je k dispozícii vráti hodnotu 0.
Príklad
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main()
5 {
6 int i;
7 printf("Kontrola dostupnosti procesora...");
8 if (system(NULL)){
9 puts("OK");
10 }else{
11 exit(1);
12 }
13 printf("Vykonavanie prikazu DIR...\n");
14 i = system("dir");
15 printf("Vratena hodnota je: %d.\n", i);
16 return 0;
17 }