Estoy realizando un ejemplo con _popen tan simple como este.
Código:
#include <stdlib.h>
#include <iostream>
int main (int argc, char *argv[]){
FILE *chkdsk;
const int MAX_BUFFER = 2048;
char buffer[MAX_BUFFER];
chkdsk = _popen( "java -version", "rt" );
if (chkdsk == NULL) perror ("Error al ejecutar el comando");
else{
while( !feof( chkdsk ) ){
a++;
if( fgets( buffer, MAX_BUFFER, chkdsk ) != NULL ){
puts(buffer);
}else{
printf("\nfgets no recupero nada\n");
}
}//While
}//else
system("pause");
fclose(chkdsk);
return 0;
}
Pero no consigo que fgets recupere nada.