Вот моя проблема, с которой я сталкиваюсь.
Я читаю строки текста из файла, но пытаюсь читать только строки, которые не являются последовательными повторениями.
Вот мой обычный код для чтения в строках текста.
while (((ch = getc (fp)) != EOF))
{
a[j++] = ch;
}
a[j] = '\0';
, который работает просто отлично.
Пытаясь выяснить, как решить проблему, я попытался создать массив символов, который будет читать по одной строке за раз, а затем сравнить его с предыдущей строкой, используя strcomp. Если бы это было совпадение, оно не добавило бы эту строку в окончательный массив символов. Это выглядит примерно так:
while (((ch = getc (fp)) != EOF))
{
if (ch != '\n')
{
copynumber++;
temp[j] = ch;
}
else
{
uni = strcmp(identical, final);
if (uni == 0) {
copynumber = 0;
}
else
{
strncpy(identical, temp, copynumber);
final[j] = ch;
}
j++;
}
}
final[j] = '\0';
но я знаю, что это не сработает по нескольким причинам. Во-первых, я никогда не добавляю предыдущие символы в окончательный массив. Я действительно просто потерян. Любая помощь приветствуется. Спасибо.