Здравствуйте, это сегмент моего кода, в котором я пытаюсь реализовать алгоритм Морриса-Пратта. Когда я сравниваю свои переменные, если они не совпадают, это потому, что одна из моих переменных «Temp» получает дополнительные символы, добавленные в конец массива. вот мой код ...Char массив, выводящий дополнительные символы
// Calculate the next talbe
char test[searchLen];
for(int i = 0; i < searchLen; i++)
{
test[i] = fileContent[currPos+i];
}
cout << "SEARCHLEN: " << searchLen << endl;
cout << "TEST: " << '\t' << '\t' << test << endl;
cout << "SEARCH: " << '\t' << search << endl;
cout << strcmp(test,search) << endl << endl;
// Determine if a match is detected
if(strcmp(test,search)==0)
{
cout << "----------------------> Match detected at: " << currPos << endl;
}
currPos ++;
}
return numberOfComparisons;
}
Выход выглядит так ...
SEARCHLEN: 8
TEST: athsoutg5?h
SEARCH: brilling
-1
Как вы можете увидеть 5? H не должен быть там и ломает мой код.
AHhh! вот это благодаря кучам Джеймса :) –