[C con Clase] Variable del sistema en linux

JLR_Personal jorgerubiera en rubiera.net
Mie Sep 14 00:31:28 CEST 2011


Saludos Listeros
Espero puedan arrojarme un poco de luz con 
algo que  me esta comiendo.

Necesito validar el resultado de un comando en linux
y que este sea el contenido de una variable que 
sera comparada con un valor fijo. 

Lo consigo con la llamada al "system", pero
no puedo hacer el "strcmp"  y comparar su contenido.

Ej:
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<cstring>

using namespace std;

char cadena0[18]="01:02:03:04:C3:A4";
char cadena1[18]="02:04:03:A2:C3:84";
//de la forma anterior funciona
//de  la sgte manera NO.
//char cadena2=system("ifconfig |grep 'eth0 '|awk '{ print $5 }'");
//                  o
//char cadena2[18]=system("ifconfig |grep 'eth0 '|awk '{ print $5 }'");
//me da error al compilarlo : "Valor inicial invalido"
                                                                                
int main()
{
         if ( strcmp (cadena0, cadena1) == 0 )
                   cout << "OK "  << endl;
           else
                cout << "BAD" << endl ;
              system("sleep 1");
   return 0;
}


La meta especifica es comparar la MAC, si disponemos
de alguna libreria para esto y no usar el "system call" seria
fabuloso.-

Agradeciendo de antemano su ayuda

Atte:
JLRG.-




Más información sobre la lista de distribución Cconclase