是否有可能在Linux上复制在system()
函数上使用的命令的输出? 如果我跑步了
#include <stdlib.h> int main(int argc,char *argv[]){ char date[8]; //eg, 20130421 yyyymmdd char time[4]; // eg, 0204 hhmm system("ntpdate"); return 0; }
它输出:
21 Apr 02:12:56 ntpdate[32680]: no servers can be used, exiting
有可能将输出复制到一个string? 如何将date和时间信息复制到一个字符数组,例如char *date
; char *time
在C上的char *time
?
system
不允许这样的事情,你必须使用popen("ntpdate", "r")
,它返回一个FILE *
,从中你可以读取命令输出。