Shell vers Variable C++

Fermé
Hantse - 14 déc. 2011 à 20:16
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 déc. 2011 à 23:32
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.

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
14 déc. 2011 à 21:07
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
Bonsoir,

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

Merci d'avance

Hantse.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
14 déc. 2011 à 21:46
Quelles infos souhaitez-vous exactement sur le CPU ? Sinon vous avez https://linux.die.net/man/2/getcpu
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
14 déc. 2011 à 21:49
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
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
14 déc. 2011 à 22:12
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
Pas de fonctions natives pour récupérer les informations ?
0