В вашем коде есть несколько проблем;Наиболее очевидным является, вероятно, ваш цикл for (i = 0; i <= strlen(str[i]); i++)
, в котором вы сравниваете длину i
-ой строки со значением i
, и вы используете тот же i
для доступа к символам i
СтрокаЭто редко имеет смысл.
Я бы начал с двух вещей:
Во-первых, убедитесь, что у вас нет доступа к неинициализированным строкам, т. Е. Рассмотрите lineCount
.Простым способом было бы сделать его либо глобальной переменной, либо вернуть ее в readFile
;сигнатура изменится на int readFile(char **str) { ....; return lineCount; }
Во-вторых, используйте два вложенных цикла:
for (int line=0; line<lineCount; line++) {
for (int column=0; column < strlen(str[line]); column++) {
// your code for detecting lines goes here...
}
}