Как получить стандартный вывод IBM cplex в строку вместо печати на консоли? - PullRequest
0 голосов
/ 11 февраля 2019

Я использую IBX cplex Solver в моей программе C ++.по умолчанию он выводит вывод решения в консоль.Но я хотел, чтобы этот вывод решателя был в виде строки, которая позже может быть использована для регистрации или cout.Для этого я использовал приведенный ниже фрагмент кода (с функцией setOut, предоставленной IBM Cplex), но он ничего не печатает.Пожалуйста, посоветуйте мне, как правильно это сделать?

//Other code stuffs to initialise cplex solver and model
std::ostringstream ss("");
_cplex.setOut(ss); //_cplex is an instance of IloCplex
std::cerr << ss.str() << std::endl; // Tried ss.rdbuf() also, didn't help

Тем не менее, он может записать содержимое вывода в файл с кодом ниже,

//Other code stuffs to initialise cplex solver and model
std::ofstream of("dummy.txt"); //_cplex is an instance of IloCplex
_cplex.setOut(of); //Write successfully to the file dummy.txt
...