Я хотел бы передать вектор String во внешнюю функцию C.
В минимальном примере я просто хочу передать векторы String (или массив 1D) через функцию C.
Моя функция Modelica выглядит следующим образом:
function testreadstri
input String instri[2];
output String outstri[2];
external "C" test_stri(instri,, size(instri, 1), outstri);
annotation (Include="#include <ebcmysql.cpp>", Library="libmysql");
end testreadstri;
Моя функция C выглядит следующим образом:
void test_stri(const char* thestring, size_t nLines, const char **testresult)
{
//bout = 12.3;
size_t iLines;
//size_t nLines;
iLines = 0;
//nLines = 1;
while ( iLines <= nLines ) {
<LINE_OF_INTEREST>
iLines++;
}
}
Я пытался набрать <LINE_OF_INTEREST>
следующие строки:
testresult[iLines] = thestring[iLines];
strcpy(testresult[iLines], thestring[iLines]);
То, что работает, но, конечно, не передает входные данные в качестве вывода, это:
testresult[iLines] = "aTestString";
Есть ли возможность обрабатывать входные строковые векторы Modelica во внешней функции C?
Заранее спасибо!