是否可以复制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;
}
输出:
21 Apr 02:12:56 ntpdate[32680]: no servers can be used, exiting
是否可以将输出复制到字符串?如何将日期和时间信息复制到char数组,例如char *date
; C上的char *time
答案 0 :(得分:5)
system
不允许这样的事情,您必须使用popen("ntpdate", "r")
,它返回FILE *
,您可以从中读取命令输出。