fscanfを使った場合

#include <stdio.h>
#include <stdlib.h>

#define MAX 1024

typedef struct meminfo {

char name[40];
char ave[20];
char inch[10];

} s_meminfo;


int main(void)
{

struct meminfo mem[MAX];
int i;
int k;


FILE *rfp;

if ( (rfp = fopen("/proc/meminfo","r")) == NULL ){

fprintf(stderr,"Open ERROR");
}

i = 0;

while ( fscanf(rfp,"%s %s %s",mem[i].name,mem[i].ave,mem[i].inch ) != EOF) {

i++;
}

for (k = 0; k < i; k++ ) {

printf("%s %s %s\n",mem[k].name,mem[k].ave,mem[k].inch);
}

 

}