在shell中time函数可以输出调试信息,在terminal输入man time了解用法
  用自己定义的格式写入一个文件,然后从这个文件读取数据输出
  一个模拟shell的supershell完成了
  system()函数
  time函数在linux里有2个,一个在batch直接输入time,一个在usr/bin/time,后者可以得到更多信息
  程序的输入可以是 % supershell command 单词之间可以有任意空格
  command必须是符合要求的输入,不然统计结果会出错

 

#include <cstdio>
#include <cstdlib>
#include <sys/types.h>
#include <sys/wait.h>
#include <cstring>
#include <unistd.h>
#include <ctime>
#define N 1000
char input[N];
char cmd[N],tmp[N];
const char sp[]="%U %S %E %F %R %w %W %P";
const char pre[]="/usr/bin/time -o temp.txt -f";
/*get the command from string s, format "% supershell command"*/
int getToken(char *s)
{
int len = strlen(s);
int i=0;
while(s[i] == ' ' && i<len) i++;
if(s[i]!='%'||i>=len) return -1; //not obey format
i++;
while(s[i] == ' '&& i<len) i++;
if(i>=len) return -1;
char temp[]="supershell";
for(int j=0;j<strlen(temp);++j,++i)
if(s[i]!=temp[j])
return -1;
while(s[i]==' '&& i<len) i++;
if(i>=len) return -1;
return i;
}