Shell vers Variable C++

Hantse -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche pour mon projet de fin d'année de récupérer le contenu de la commande shell suivante dans une variable :

#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

int main()
{

    string cpu;

    cpu = system("cat /proc/meminfo");

    cout << "Infos : " << cpu << endl;
    return 0;
}


Le soucis est qu'il ne récupére rien dans la variable.

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    La fonction system() est à éviter autant que possible.
    Je vous conseille plutôt d'utiliser sysinfo : https://linux.die.net/man/2/sysinfo

    Cdlt,
    1
  2. Hantse
     
    Bonsoir,

    Merci de cette réponse rapide, mais je n'ai pas vus les informations CPU sur sysinfo ?

    Merci d'avance

    Hantse.
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Quelles infos souhaitez-vous exactement sur le CPU ? Sinon vous avez https://linux.die.net/man/2/getcpu
      0
    2. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      ou au pire du pire, on peut faire un "cat .... > fichier" puis une lecture de ce fichier.

      mais vu que C a été crée à la base pour les systèmes unix, il y a plein de fonctions standard unix pour c qui doivent donner les mêmes infos, et de manière déjà structurée, vaut mieux passer par là comme dit fiddy !
      0
    3. Hantse
       
      Bonsoir,

      Mon travail de fin d'année consiste à récupérer les informations système de base, (CPU/RAM/Réseau/HDD/CG) les introduire dans une base de données Mysql(pas de soucis à ce niveau) ensuite le programme dois envoyer dans cette même base de données, toutes les x secondes un relevé de l'utilisation du CPU/Ram/Charge Réseau/Lecture-Ecriture Disque.

      Merci d'avance
      0
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Ou sinon, tu fais un ifstream sur "/proc/meminfo" et en utilisant un string, tu récupères les infos qui t'intéressent.
      0
    5. Hantse
       
      Pas de fonctions natives pour récupérer les informations ?
      0