主要内容

matlab:引擎::StreamBuffer

ストリムバッファの定義

説明

std:: basic_streambuf < char16_t >の型定義。

この例では,MATLABEngine: evalメンバ関数によるmatlab®関数の評価から出力を返すための,文字列バッファを定義します。この関数はmatlab:引擎::StreamBuffer由来のバッファを使用して,matlabからの出力をc++に返します。

#include "MatlabEngine.hpp" #include "MatlabDataArray.hpp" #include  using namespace matlab::engine;using SBuf = std::basic_stringbuf;void printFromBuf(const std::shared_ptr buf){//从buf自动获取文本_ = buf->str();std::cout << "*" << convertUTF16StringToUTF8String(text_) << "*" << std::endl;} int main(){//创建数组工厂matlab::data::ArrayFactory工厂;//连接到命名共享的MATLAB会话为:// MATLAB -r " MATLAB .engine. shareengine ('myMatlabEngine')"字符串会话(u“myMatlabEngine”);std::unique_ptr matlabPtr = connectMATLAB(session);auto outBuf = std::make_shared();auto errBuf = std::make_shared(); matlabPtr->eval(u"matlab.engine.engineName", outBuf, errBuf); printFromBuf(outBuf); printFromBuf(errBuf); return 0; }

バジョン履歴

R2017bで導入