🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12403

Re: C vraagje (using Debian Linux)

#12403
From: Philip Paeps
Date: Thu, 15 Nov 2001 01:20
60 lines
2926 bytes
In be.comp.programming Kris Wauters <wauters.kris@pandora.be> wrote:

# -- knip knip -- #

> Hoe kan je vanuit C een commando aanroepen dat je normaal gewoon
> in een shellprompt uitvoert ?

> de bedoeling is om commando's zoals "finger >bestand"
> en grep -c "Return-Path" /var/spool/mail/krisw >bestand
> en andere zaken te kunnen uitvoeren en de uitvoer te kunnen omleiden
> naar een bestand, om nadien vanuit C dan die bestandjes te kunnen inlezen.
> Hoe ik bestandjes moet inlezen weet ik wel, ik heb het hier dus alleen
> over de mogelijkheid om die zaken te kunnen laten uitvoeren vanuit Linux.

Je kan kiezen -- ofwel include je de headers van de programma's die je wil
aanroepen, en schrijf je er wrappers rond.  Dit zorgt waarschijnlijk voor de
meest effici�nte binaries, maar met het meeste programmeerwerk.

Anders kan je nog met system(3) werken:

 | #include <stdlib.h>
 |
 |    int
 |    system(const char *string);

Of zelfs met exec(3)

 |�#include <unistd.h>
 |
 |    extern char **environ;
 |
 |    int
 |    execl(const char *path, const char *arg, ...);
 |
 |    int
 |    execlp(const char *file, const char *arg, ...);
 |
 |    int
 |    execle(const char *path, const char *arg, ...);
 |
 |    int
 |    exect(const char *path, char *const argv[], char *const envp[]);
 |
 |    int
 |    execv(const char *path, char *const argv[]);
 |
 |    int
 |    execvp(const char *file, char *const argv[]);

Ik zou exec(3) met wel afraden ...  System(3) werkt net zo goed.  Als je
echter graag een beetje C wil oefenen, en je graag wrappers schrijft: by all
means, headers includen en wrappen maar!

 - Philip

-- 
Philip Paeps                                                   philip@paeps.cx

  Real programmers don't number paragraph names
  consecutively.
Technical Details
Message-ID: <CLEI7.33791$XM4.1671@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!sunqbc.risq.qc.ca!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <6WCI7.33546$XM4.1675@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,97522614cc45ff37
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-11-14 17:20:35 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!sunqbc.risq.qc.ca!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Philip Paeps <philip@paeps.cx>
Subject: Re: C vraagje (using Debian Linux)
Newsgroups: be.comp.programming
References: <6WCI7.33546$XM4.1675@afrodite.telenet-ops.be>
User-Agent: tin/1.5.9-20010723 ("Chord of Souls") (UNIX) (FreeBSD/4.4-STABLE (i386))
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 60
Message-ID: <CLEI7.33791$XM4.1671@afrodite.telenet-ops.be>
Date: Thu, 15 Nov 2001 01:20:34 GMT
NNTP-Posting-Host: 213.118.102.165
X-Complaints-To: abuse@pandora.be
X-Trace: afrodite.telenet-ops.be 1005787234 213.118.102.165 (Thu, 15 Nov 2001 02:20:34 MET)
NNTP-Posting-Date: Thu, 15 Nov 2001 02:20:34 MET
Organization: Telenet Internet