if(notfound == 1)
{
int len = strlen(word);
//if(strcmp(word, array)== 0)
if(strcmp(array3,word)==0)
{
word[len - 1] = '\0';
}
if(strcmp(word, array2) ==0)
{
word[len - 1] = '\0';
}
fprintf(NewFile,"%s\n", word);
}
Это мой код программы проверки орфографии, по крайней мере, часть, которая приносит большую часть моих проблем. Моя программа прекрасно проверяет любой текстовый файл, сравнивая его с Dicitonary. Слово в этом коде остается для массива, содержащего неправильные слова из текстового файла. Array 3 - массив слов, который включает в себя знаки препинания и выглядит так: char* array3[] = {"a.", "b.", "c.", "d.", "e.", "f.", "g.", "h."};
Я пытаюсь сравнить слова с этим массивом, чтобы избавиться от пунктуации (в этом случае точки, но позже я планировал остаток пунктуации, чтобы позаботиться). Проблема в том, что если мой массив будет выглядеть как «.», «,», «!», «?», «;», Strcmp просто пропускает его и не освобождается от пунктуации. И я знаю, что мой метод очень прост и не совсем правилен, но когда я пытался его использовать с «c», он работал. Кроме того, я очень новый для языка CКак избавиться от пунктуации в программе проверки орфографии?
Если ayone может помочь, я был бы очень признателен, что, согом я действительно застрял с этой проблемой в течение недель
Пожалуйста, начните отступать от кода. –
И не называйте ваши переменные 'array3', а скорее некоторым значимым именем, таким как' punctuations'. –
Слишком мало кода, поэтому нам не удастся выяснить, что здесь может быть неправильным. Но 'strcmp (array3, word)' выглядит подозрительно. Включите предупреждения компилятора и обработайте предупреждения как ошибки. –