Ist es möglich zu definieren, ein CAPL-Funktion zurückgeben einer Zeichenfolge?

Entwickle ich CAPL-scripts in Vector CANoe und ich brauche, um zu definieren, mehrere Funktionen Rücksendung von text-strings. In C würde ich etwas schreiben wie dieses:

char * ErrorCodeToMsg(int code)

oder

char [] ErrorCodeToMsg(int code)

In CAPL, beide Definitionen scheitern mit einem parse error. Die einzige funktionierende Lösung, die ich kam mit, so weit ist:

variables {
  char retval[256];
}

void ErrorCodeToMsg(int code) {
  char [] msg = "Hello word";
  strncpy(retval, msg, 256);
}

Dies ist natürlich sehr unschön, weil jeder Aufruf ErrorCodeToMsg benötigt zwei Anweisungen anstelle von einem. Gibt es einen besseren Weg?

Schreibe einen Kommentar