Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du har to muligheder - enten System() eller spawnl(). System() tillader simpelthen alle de kommandoer du normalt kan skriv fra dit DOS prompt, men kræver at du "stringer" alle parameter osv. sammen i een streng. Den betyder også at du får launchet endnu en command.com shell, hvilket betyder at du mister op til 100 KB konventionel hukommelse. (Og det kan jo være et problem, når man koder under DOS.) spawnl() tillader at du kalder et givent program direkte, uden at skulle stringe de forskellige parametre sammen i en streng, og den launcher i givet fald IKKE en ekstra command.com shell. Til gengæld skal du selv kalde command.com med parameteren "/C", hvis du skal fyre en alm. DOS kommando som f.eks. 'dir'. system() returnerer IKKE nogen statuskode fra det kaldte program, dvs. du har ikke mulighed for at teste om kaldet gik godt (altså checke hvilken 'return ?;' det kaldte program lavede) - det går spawnl() tilgengæld.
Antag at du skal starte Word for et bestemt dokument - så vil de to kald se sådan her ud:
int main(int, char *argv[]) { sprintf(cmd, "c:\\programmer\\microsoft office\\office\\winword.exe \"%s\"", argv[1]); system(cmd); // Mon det gik godt ? return 0; }
int main(int, char *argv[]) { int returnCode;
returnCode = spawnl(P_WAIT, "c:\\programmer\\microsoft office\\office\\winword.exe", "c:\\programmer\\microsoft office\\office\\winword.exe", argv[1], NULL); if (returnCode > 0) printf("Det gik skidt."); else printf("Det gik godt."); return returnCode; }
(Parameter 2 er det program der skal kaldes, parameter 3 det så overføres til det kaldte program som parameter 0 - hvilket konventionelt er programmets eget navn, dvs. i den her situation det samme som parameter 2.)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.