Как мне изменить текст в 2d массиве c-string по одной строке за раз? - PullRequest
0 голосов
/ 16 ноября 2018

Я открываю файл с шаблонами хайку с помощью *, чтобы указать слова для замены, скопировать текст в массив og 2d.У меня есть новый 2d массив для копирования измененного текста в.Я получаю сообщение об ошибке segmentation fault (core dumped) из функции changeLine.index = line из массива og, из которого начинается копирование, i - это символ, который нужно скопировать.Функции следующие:

int randHaiku(int& index)
{
 index = ((rand() % 16) * 3);    // index of first of 3 lines to be copied
 return(index);
}
void changeLine(char fillWords[3][15], char ogLine[51][50], char newLine[3][50])
{
 int index = randHaiku(index);
 for (index; index < (index + 3); index++)
    {   for (int i = 0; i < strlen(ogLine[index]); i++)
        { if (ogLine[index][i] != '*')        // replacing * with user's word
                { newLine[index][i] = ogLine[index][i]; }
          else  {strcat(newLine[index], fillWords[index]);
                 strcat(newLine[index], &ogLine[index][++i]);
                 i = strlen(ogLine[index]); }
        }
    }
 cout << newLine;
}

Я не могу понять, что дает мне ошибку, но я знаю, что она должна быть от changeLine.

...