读取 SFunction 参数的字符数组

Reading a char array of an SFunction Parameter

我无法从 SFunction 参数读取字符串(文件名:'aFile.csv')。我得到的错误对我来说没有意义

我正在使用 MSVC++(2017)。

错误似乎来自 mxGetString 中的 ssGetSFcParam

这是有问题的代码片段(在 mdlStart 方法中)

static void mdlStart(SimStruct *S)
{
 FILE* fp;
 char buffer[255];   

 char* fileStr;
 char* paramStr;
 int_T fstatus;
 int_T pstatus;

 const int_T flen = (int_T)mxGetN((ssGetSFcnParam(S, 0)))*sizeof(char)+1;
 const int_T plen = (int_T)mxGetN((ssGetSFcnParam(S, 1)))*sizeof(char)+1;

 fileStr = mxMalloc(flen);
 paramStr = mxMalloc(plen);

 fstatus = mxGetString((ssGetSFcParam(S,0)),fileStr,flen); 
 pstatus = mxGetString((ssGetSFcParam(S,1)),paramStr,plen);  

 real_T* Defval =   (real_T *)mxGetData(PARAM_DEF2(S));        


 fp = fopen(fileStr, "r");  
  // additional code here, but has nothing to do with the error         

 mxFree(flen);
 mxFree(plen);
 fclose(fp); 
}

Error using mex

Creating library FileReader.lib and object FileReader.exp FileReader.obj : error LNK2019: unresolved external symbol ssGetSFcParam referenced in function mdlStart FileReader.mexw64 : fatal error LNK1120: 1 unresolved externals

错误消息说明了一切:没有 S-function 方法调用 ssGetSFcParam。你要用ssGetSFcnParam,你用了两次,然后也打错了两次