Использование C ++ с popen ("findcu -v") не может получить выходное сообщение в ubuntu18.04 - PullRequest
1 голос
/ 24 мая 2019

dcmtk3.6.3

Я использовал C ++ для кодирования функции popen ("findcu -v", "r"). Я хочу получить выходное сообщение findcu для сохранения в файл. Но это только печать на консоль, я не могу сохранить в файл.

  1. // - подробный подробный режим, детали обработки печати

FILE * fstream = popen ("findcu --verbose", "r");
Выходное сообщение findcu выводится на консоль.

char * p = fgets (бафф, sizeof (бафф), fstream);
p - NULL, а положительный эффект - ничто.

  1. Но если я использую этот код:
    // - помочь распечатать этот текст справки и выйти
    FILE * fstream = popen ("findcu --help", "r");
    Он не печатает на консоль.

char * p = fgets (бафф, sizeof (бафф), fstream);
p не NULL, и бафф имеет выходное сообщение.
Это то, что я хочу.

Чем отличаются эти два случая?
Как получить сообщение из дела 1?

спасибо.

ubuntu18.04 C ++ dcmtk3.6.3 findscu

//C++ dcmtk findscu
FILE * fstream = popen("findscu --verbose", "r");

char buff[10240] = {0};
char * p = fgets(buff, sizeof(buff), fstream);

cout <<  buff << endl;

Я ожидаю получить информацию о выходе из положительного эффекта, а не из консоли. Случай 2 - это то, что я хочу. Случай 1 - это то, чего я не хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...