在Unix或者Linux系統上執行一個命令,輸出會默認打印在標准輸出上。下面的程序通過system系統調用執行一個ifconfig命令,然后將輸出重定向到一個txt文件當中。
#include <stdout.h>
#include <stdlib.h>
#include <unistd.h>
#define BUF_MAX 40
int main(int argc, char *argv[])
{
// 設置要重定向的目的文件
char dfile[] = "/root/test.txt";
// 要執行的命令
char cmd[] = "ifconfig";
// 將文件指針與標准輸出流綁定
FILE *fd = freopen(dfile, "w+", stdout);
// system系統調用執行ifconfig
system(cmd);
// 關閉文件指針fd
fclose(fd);
return 0;
}