将system()调用执行的命令的输出复制到char数组

将system()调用执行的命令的输出复制到char数组,c,linux,datetime,C,Linux,Datetime,是否可以在Linux上复制system()函数上使用的命令的输出?例如,如果我跑步 #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; } #包括 int main(int argc,char*

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

#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;
}
#包括
int main(int argc,char*argv[]){
字符日期[8];//例如,20130421 yyyymmdd
字符时间[4];//例如,0204 hhmm
系统(“ntpdate”);
返回0;
}
它输出:

21 Apr 02:12:56 ntpdate[32680]:无法使用服务器,正在退出


是否可以将输出复制到字符串?如何将日期和时间信息复制到字符数组中,例如
char*date
char*time
系统
不允许这样的事情,您必须使用
popen(“ntpdate”,“r”)
,它返回一个
文件*
,您可以从中读取命令输出