2

是否可以复制system()Linux 上函数上使用的命令的输出?例如,如果我跑

#include <stdlib.h>

int main(int argc,char *argv[]){
    char date[8]; //e.g., 20130421 yyyymmdd
    char time[4]; // e.g., 0204 hhmm
    system("ntpdate");
    return 0;
}

它输出:

21 Apr 02:12:56 ntpdate[32680]: no servers can be used, exiting

是否可以将输出复制到字符串?如何将日期和时间信息复制到 char 数组,例如char *datechar *time在 C 上?

4

1 回答 1

5

system不允许这样的事情,你必须使用popen("ntpdate", "r"),它返回一个FILE *你可以从中读取命令输出的。

于 2013-04-21T00:28:42.847 回答