我在 Vector CANoe 中开发 CAPL 脚本,我需要定义几个返回文本字符串的函数。在 C 中,我会这样写:
char * ErrorCodeToMsg(int code)
或者
char [] ErrorCodeToMsg(int code)
在 CAPL 中,两个定义都以parse error
. 到目前为止,我想出的唯一可行的解决方案是:
variables {
char retval[256];
}
void ErrorCodeToMsg(int code) {
char [] msg = "Hello word";
strncpy(retval, msg, 256);
}
当然这很丑陋,因为每次调用都ErrorCodeToMsg
需要两条语句而不是一条。有没有更好的办法?