extern char * strtok(char * string, const char * delimiters ); // Explicit declaration
char separators[] = ", ";
char * token;
char poks[500];
int i;
char temp[10];
sprintf(poks, "%s", lr_eval_string("{pPoks}"));
lr_output_message ("string poks %s", poks );
token = (char *)strtok(poks, separators); // Get the first token
if (!token) {
lr_output_message ("No tokens found in string!");
return( -1 );
}
while (token != NULL ) { // While valid tokens are returned
lr_save_string("", "pPok_1");
lr_save_string("", "pPok_2");
lr_save_string("", "pPok_3");
for(i=1; i<4; i++) {
sprintf(temp, "pPok_%d", i);
lr_save_string(lr_eval_string(token), lr_eval_string(temp));
token = (char *)strtok(NULL, separators); // Get the next token
}
}
Заранее известно, что количество token целое число от одного до трех.
В случае, когда в описании цикла for указано, что i<4, а кол-во token для этой итерации вдруг 2, то скрипт выпадает с ошибкой:
Error: C interpreter run time error: Action.c (78): Error -- memory violation : Exception ACCESS_VIOLATION received.
Как быть?

