проблема в том, что функция strtok_r
возвращает указатель на char, ведь вы пытаетесь назначить массив символов, поэтому для его работы вам необходимо объявить переменные line
и integer
как указатель символа char, затем выделите память с помощью malloc.
void string_to_int_array(char file_contents[BUFFER_SIZE << 5], int array[200][51]) {
char *saveptr1, *saveptr2;
char *str1, *str2;
char delimiter1[2] = "\n";
char delimiter2[] = " ";
char *line;
char *integer;
int j;
line = (char*)malloc(200);
integer = (char*)malloc(200);
for(j = 1, str1 = file_contents; ; j++, str1 = NULL) {
line = strtok_r(str1, delimiter1, &saveptr1);
printf("%s\n", line);
if (line == NULL) {
break;
}
printf("end of first\n");
for (str2 = line; ; str2 = NULL) {
printf("begin of second\n");
printf("asdf%s\n", line);
integer = strtok_r(str2, delimiter2, &saveptr2);
if (integer == NULL) {
break;
}
printf("%s\n", integer);
}
}
}