Цель моей программы - прочитать текстовый файл, а затем найти / отсканировать файл, чтобы увидеть, находится ли ввод от пользователя внутри файла. Например, если пользователь пишет «в», а текст внутри файла - «Приходите к нам домой», то «в» должен быть выводом. найти общее слово и вывести его. В настоящее время я пытаюсь найти способ сравнить вводимые пользователем данные с содержимым файла. Мне трудно понять C, я новичок, как вы можете видеть.
int main() {
FILE* myFile = fopen("C:\\Users\\Vasileios\\Desktop\\txtfiles\\words.txt", "r+");
FILE* myFile1 = fopen("C:\\Users\\Vasileios\\Desktop\\txtfiles\\sentences.txt", "r+");
FILE* tempFile = fopen("C:\\Users\\Vasileios\\Desktop\\txtfiles\\sentences_temp.txt", "w");
char word[MAX];
char lineBuffer[MAX];
char string[MAX], replace[MAX];
char temp[] = "temp.txt", * ptr1, * ptr2;
if (myFile == NULL)
{
printf("File Does Not Exist \n");
return 1;
}
while (!feof(myFile))
{
char lineBuffer[1024];
fscanf(myFile, "%1024[^\n]\n", lineBuffer);
printf("%s\n", lineBuffer);
: Я хочу также напечатать слово, введенное пользователем, если оно найдено внутри файла, я попытался сделать это, сохранив содержимое файла внутри переменной, а затем сравнив его с вход, но я запутался.
printf("Enter the word to be replaced:");
fgets(word, stdin);
scanf(myFile ,"%s", word);
printf("Enter your replace word:");
fgets(replace ,stdin)
scanf("%s", replace);
FILE* myFile = fopen("C:\\Users\\Vasileios\\Desktop\\txtfiles\\words_test.txt", "r+");
if (!myFile) {
printf("File does not exist!!\n");
return 0;
tempFile = fopen("temp.txt", "w");
if (!tempFile) {
printf("Unable to open temporary file!!\n");
return 0;
}
while (!feof(myFile)) {
strcpy(string, "\0");
fgets(string, MAX, myFile);
if (strstr(string, word)) {
ptr2 = string;
while (ptr1 = strstr(ptr2, word)) {
while (ptr2 != ptr1) {
fputc(*ptr2, tempFile);
ptr2++;
}
ptr1 = ptr1 + strlen(word);
fprintf(tempFile, "%s", replace);
ptr2 = ptr1;
}
while (*ptr2 != '\0') {
fputc(*ptr2, tempFile);
ptr2++;
}
}
}
fclose(myFile);
fclose(tempFile);
return 0;
}
}