Heu au fait, pour info j'ai codé ça avec quelques fscanf.
Faudra que je sécurise un peu tout ça pour la version définitive

(avec chaque entier défini comme un long long)
FILE* fp= fopen("/proc/meminfo", "r") ;
fscanf(fp, "MemTotal: %lld kB\n", &MemTotal) ;
fscanf(fp, "MemFree: %lld kB\n", &MemFree) ;
fscanf(fp, "Buffers: %lld kB\n", &Buffers) ;
fscanf(fp, "Cached: %lld kB\n", &Cached) ;
fscanf(fp, "SwapCached: %lld kB\n", &SwapCached) ;
fscanf(fp, "Active: %lld kB\n", &Active) ;
fscanf(fp, "Inactive: %lld kB\n", &Inactive) ;
fscanf(fp, "HighTotal: %lld kB\n", &HighTotal) ;
fscanf(fp, "HighFree: %lld kB\n", &HighFree) ;
fscanf(fp, "LowTotal: %lld kB\n", &LowTotal) ;
fscanf(fp, "LowFree: %lld kB\n", &LowFree) ;
fscanf(fp, "SwapTotal: %lld kB\n", &SwapTotal) ;
fscanf(fp, "SwapFree: %lld kB\n", &SwapFree) ;
fscanf(fp, "Dirty: %lld kB\n", &Dirty) ;
fscanf(fp, "Writeback: %lld kB\n", &Writeback) ;
fscanf(fp, "AnonPages: %lld kB\n", &AnonPages) ;
fscanf(fp, "Mapped: %lld kB\n", &Mapped) ;
fscanf(fp, "Slab: %lld kB\n", &Slab) ;
fscanf(fp, "PageTables: %lld kB\n", &PageTables) ;
fscanf(fp, "NFS_Unstable: %lld kB\n", &NFS_Unstable) ;
fscanf(fp, "Bounce: %lld kB\n", &Bounce) ;
fscanf(fp, "CommitLimit: %lld kB\n", &CommitLimit) ;
fscanf(fp, "Committed_AS: %lld kB\n", &Committed_AS) ;
fscanf(fp, "VmallocTotal: %lld kB\n", &VmallocTotal) ;
fscanf(fp, "VmallocUsed: %lld kB\n", &VmallocUsed) ;
fscanf(fp, "VmallocChunk: %lld kB\n", &VmallocChunk) ;
fscanf(fp, "HugePages_Total: %lld\n", &HugePages_Total) ;
fscanf(fp, "HugePages_Free: %lld\n", &HugePages_Free) ;
fscanf(fp, "HugePages_Rsvd: %lld\n", &HugePages_Rsvd) ;
fscanf(fp, "Hugepagesize: %lld kB\n", &Hugepagesize) ;
fclose(fp) ;