TRNSYS, writeToList()をC/C++から呼び出す

TRNSYSのwriteToList()関数がヘッダーファイル(TRNSYS.h)に登録されていないのに気がついたので、その対策のメモ。

たまに動作確認のため、リストファイル(.lst)へテキストを書き出したいケースがあるんですが、そういう時、この関数便利なんですよね。(messages()関数でも良いんですが、パラメータが多くて面倒)

TRNSYS.hに以下、2行を追加する。

extern "C" __declspec(dllimport) void _cdecl WRITETOLIST(char* message, size_t n);
#define writeToList		WRITETOLIST

使い方はこんな感じ。

char msg[50];
strcpy_s(msg, "ここに出力するメッセージ");
writeToList(msg,(size_t)strlen(msg));

もしくは、こんな感じか。

std::string msg = "ここに出力するメッセージ";
writeToList((char*)msg.c_str(), (size_t)msg.length());

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1909)
TRNSYS18.01.0001(64bit)
Microsoft Visual Studio 2019 Professional ver16.3.8

Pocket

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です