Avatar billede folle Nybegynder
13. oktober 2003 - 14:47 Der er 8 kommentarer og
1 løsning

kørsel af eksternt program

Jeg er ved at lave en GUI vha. C og GTK. Hvordan kører man et eksternt program i C og hvordan sender man argumenter med???
Avatar billede angak Nybegynder
13. oktober 2003 - 14:49 #1
Hvilken platform koder du på?
Avatar billede soreno Praktikant
13. oktober 2003 - 14:50 #2
Med system:
http://www.cppreference.com/stdother_details.html#system

F.eks.
system("foo -bar baz");
Avatar billede angak Nybegynder
13. oktober 2003 - 14:50 #3
Denne kode virker på *nix baserede platforme

system('navn_og_placering_på_program [+evt parametre]');

Ved ikke om det virker på Windows
Avatar billede angak Nybegynder
13. oktober 2003 - 14:51 #4
You beat me to it! :P
Avatar billede arne_v Ekspert
13. oktober 2003 - 14:54 #5
system er ANSI C så det virker på aller platforme.

Eller mere præcist: kaldet er der på alle platforme (der er
formentligt en del forskelle på hvordan man angiver tingene
inden i strengen !).
Avatar billede folle Nybegynder
15. oktober 2003 - 16:34 #6
Det virker, men hvordan henter jeg output ind i c?
Her er min komando:
system ("du -s -h /");

Er det muligt at hente svaret ind i c uden først at gemme det i en fil?
Avatar billede arne_v Ekspert
15. oktober 2003 - 16:44 #7
Ja.

Men det er system specifikt.

På Linux skal du kigge på popen !

Prøv:

man popen
Avatar billede arne_v Ekspert
15. oktober 2003 - 16:45 #8
Sandsyneligvis vil det give dig dette eksempel:


    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
            char *cmd = "/usr/bin/ls *.c";
            char buf[BUFSIZ];
            FILE *ptr;

            if ((ptr = popen(cmd, "r")) != NULL)
                    while (fgets(buf, BUFSIZ, ptr) != NULL)
                            (void) printf("%s", buf);
                    (void) pclose(ptr);
            return 0;
    }
Avatar billede folle Nybegynder
15. oktober 2003 - 16:58 #9
Det virker!!!
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis