Как получить стандартный вывод IBM cplex в строку вместо печати на консоли?

Я использую 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

0 ответов

Другие вопросы по тегам