Hi,

I save a struct array with this code:

Code:
#include <acknex.h>
#include <default.c>

typedef struct TESTSTRUCT
{
	char word1[30];
	char word2[30];
} TESTSTRUCT;

TESTSTRUCT* test_array;

FONT* font1 = "Arial#24"; 

FONT* infofont = "Arial#24bi"; 

STRING* str1 = "text 1";
STRING* str2 = "text 2";
STRING* str3 = "text 3";
STRING* str4 = "text 4";

STRING* infostr = "Start";

TEXT* txt1 = {pos_x = 10; pos_y = 10;  string (str1); font = font1; flags = SHOW;} 
TEXT* txt2 = {pos_x = 10; pos_y = 50;  string (str2); font = font1; flags = SHOW;} 
TEXT* txt3 = {pos_x = 10; pos_y = 100; string (str3);	font = font1; flags = SHOW;} 
TEXT* txt4 = {pos_x = 10; pos_y = 150; string (str4); font = font1; flags = SHOW;} 

TEXT* infotxt = {pos_x = 10; pos_y = 200; string (infostr); font = infofont; flags = SHOW;} 

///////////////////////////////
function main()
{
	var fhandle;

	wait(-3);
	str_cpy(infostr, "read");

	test_array = (TESTSTRUCT*)sys_malloc(2 * (sizeof(TESTSTRUCT)));

	// test1.txt contains 2 lines:
	// abc;def
	// ghi;jkl
	fhandle = file_open_read("test1.txt"); 
	// line 1
	file_str_readto(fhandle, test_array[0].word1, ";", 30); 
	file_str_readto(fhandle, test_array[0].word2, "\n", 30); 
	// line 2
	file_str_readto(fhandle, test_array[1].word1, ";", 30); 
	file_str_readto(fhandle, test_array[1].word2, "\n", 30); 

	str_cpy(str1, test_array[0].word1);
	str_cpy(str2, test_array[0].word2);
	str_cpy(str3, test_array[1].word1);
	str_cpy(str4, test_array[1].word2);

	file_close(fhandle);

	wait(-3);
	str_cpy(infostr, "save");

	add_struct(test_array, 2 * (sizeof(TESTSTRUCT)));
	result = game_save("test", 1, SV_STRUCT);
	if (result <= 0) 
	{ 
		printf("Save Error!"); 
	} 

	wait(-3);
	str_cpy(infostr, "reset");

	str_cpy(str1, "");
	str_cpy(str2, "");
	str_cpy(str3, "");
	str_cpy(str4, "");
	str_cpy(_str(test_array[0].word1), "");
	str_cpy(_str(test_array[0].word2), "");
	str_cpy(_str(test_array[1].word1), "");
	str_cpy(_str(test_array[1].word2), "");

	wait(-3);
	str_cpy(infostr, "end");
	
	sys_exit(NULL);
}




After it I try to load with this program:

Code:
#include <acknex.h>
#include <default.c>

typedef struct TESTSTRUCT
{
	char word1[30];
	char word2[30];
} TESTSTRUCT;

TESTSTRUCT* test_array;

FONT* font1 = "Arial#24"; 

FONT* infofont = "Arial#24bi"; 

STRING* str1 = "text 1";
STRING* str2 = "text 2";
STRING* str3 = "text 3";
STRING* str4 = "text 4";

STRING* infostr = "Start";

TEXT* txt1 = {pos_x = 10; pos_y = 10;  string (str1); font = font1; flags = SHOW;} 
TEXT* txt2 = {pos_x = 10; pos_y = 50;  string (str2); font = font1; flags = SHOW;} 
TEXT* txt3 = {pos_x = 10; pos_y = 100; string (str3);	font = font1; flags = SHOW;} 
TEXT* txt4 = {pos_x = 10; pos_y = 150; string (str4); font = font1; flags = SHOW;} 

TEXT* infotxt = {pos_x = 10; pos_y = 200; string (infostr); font = infofont; flags = SHOW;} 

///////////////////////////////
function main()
{
	wait(-3);
	str_cpy(infostr, "reset");

	str_cpy(str1, "");
	str_cpy(str2, "");
	str_cpy(str3, "");
	str_cpy(str4, "");

	wait(-3);
	str_cpy(infostr, "load");

	test_array = (TESTSTRUCT*)sys_malloc(2 * (sizeof(TESTSTRUCT)));
	add_struct(test_array, 2 * (sizeof(TESTSTRUCT)));
	result = game_load("test", 1);
	if (result <= 0) 
	{ 
		printf("Load Error!"); 
	} 

	str_cpy(str1, test_array[0].word1);
	str_cpy(str2, test_array[0].word2);
	str_cpy(str3, test_array[1].word1);
	str_cpy(str4, test_array[1].word2);

	wait(-3);
	str_cpy(infostr, "end");
	
	sys_exit(NULL);
}



But I get always the Error:

Malfunction W1508
Can't load test1.SAV

What is wrong ?