#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int MemInfo(char* Info, int len);
int main()
{
char buf[128];
memset(buf, 0, 128);
MemInfo(buf, 100);
printf("%s", buf);
return 0;
}
int MemInfo(char* Info, int len)
{
char sStatBuf[256];
FILE* fp;
int flag;
int TotalMem;
int UsedMem;
char* line;
memset(sStatBuf, 0, 256);
if(system("free -m | awk '{print $2,$3}' > mem"));
fp = fopen("mem", "rb");
if(fp < 0)
{
return -1;
}
fread(sStatBuf, sizeof(sStatBuf), 1, fp);
line = strstr(sStatBuf, "\n");
TotalMem = atoi(line);
line = strstr(line, " ");
UsedMem = atoi(line);
memset(sStatBuf, 0, 256);
sprintf(sStatBuf, "Used %dM/Total %dM", UsedMem, TotalMem);
if(strlen(sStatBuf) > len)
{
return -1;
}
memcpy(Info, sStatBuf, strlen(sStatBuf));
return 0;
}
这个是以前的,用system函数得到的。
阅读(2986) | 评论(0) | 转发(0) |