C言語で外部コマンドを実行する方法

from http://kaworu.jpn.org/kaworu/2008-05-03-2.php


C言語で外部コマンドを実行する方法は、いくつかあります。
  • system関数を利用する
  • popen関数を利用する
  • exec系関数を利用する

popen関数を利用したサンプルソース。

この例では、lsコマンドで/binのリストを取得します。
#include <stdio.h>
#include <stdlib.h>
#include <err.h>
#define BUF 256
int
main (int argc, char *argv[])
{
 FILE *fp;
 char buf[BUF];
 char *cmdline = "/bin/ls /bin";
 if ( (fp=popen(cmdline,"r")) ==NULL) {
  err(EXIT_FAILURE, "%s", cmdline);
 }
 while(fgets(buf, BUF, fp) != NULL) {
  (void) fputs(buf, stdout);
 }
 (void) pclose(fp);

 exit (EXIT_SUCCESS);
}

留言

熱門文章