Не могу вывести строчные элементы массива в СИ

Я читаю из заранее заготовленного текстового файла слова, разделенные запятой.
Реализуется это путем посимвольного чтения строки и записью n-го слова до запятой как элемента массива, затем массив очищается и переходит на работу с другой строкой.

Далее я хочу записать каждый 0-ой элемент(1 столбец) этого массива в другой массив с дальнейшим выводом его элементов через обычный цикл for, но ничего не получается и я получаю лишь ошибку сегментации или пустые значения.

Почему так и как все же достичь желаемого?

Вот кусок кода:

int main(void) 
{
array_t a;
size_t  i;
char *word[50];
char s[128];
char *es;
int j;
FILE *fp;
fp = fopen("f1", "r"); 
    char *sss;
   printf ("Считаны строки:\n");
   //Чтение (построчно) данных из файла в бесконечном цикле
   while (1)
   {
      // Чтение одной строки  из файла
      es = fgets (s,sizeof(s),fp);
      //Проверка на конец файла или ошибку чтения
      if (es == NULL)
      {
         // Проверяем, что именно произошло: кончился файл
         // или это ошибка чтения
         if ( feof (fp) != 0)
         {  
            //Если файл закончился, выводим сообщение о завершении 
            //чтения и выходим из бесконечного цикла
            printf ("\nЧтение файла закончено\n");
            break;
         }
         else
         {
            //Если при чтении произошла ошибка, выводим сообщение 
            //об ошибке и выходим из бесконечного цикла
            printf ("\nибка чтения из файла\n");
            break;
         }
      }
      //Если файл не закончился, и не было ошибки чтения 
      //выводим считанную строку  на экран
   array_init(a);
   array_strtok(&a, s,"\r\t\n,.?!");
    for (j=0; j<3; j++)
    {
  for (i = 0; i < a.cnt; i++)
      {
  printf("|%s %d|",a.arr[i], i);
  sss=a.arr[0];
      }
   word[j]=sss;
   printf("\n");
array_clear(&a);
   }
 }
   for (j=0; j<3; j++)
   {
       printf("%s", word[j]);
   }
    return 0;
}

введите сюда описание изображения

Ожидаемый результат вывода массива word[j]: look for, carry on, mistery Заранее спасибо за помощь! Это очень важно для меня.


Ответы (0 шт):