我一直在使用scanf
从/ proc / meminfo中提取3个值,如下所示:
fscanf (info, "MemTotal: %*d kB MemFree: %d kB Buffers: %d kB Cached: %d kB", &memfree, &membuffers, &memcache);
问题在于,他们在某些时候添加了一个新字段(MemAvailable)并且破坏了这种解析。如何在容忍将来添加新字段的同时解析此文件?
答案 0 :(得分:3)
了解top
是如何做到的:http://procps.cvs.sourceforge.net/viewvc/procps/procps/proc/sysinfo.c?revision=1.40&view=markup
函数void meminfo(void)
从第544行开始。