Считывание с конца файла происходит дважды - C (СИ)

Узнай цену своей работы

Формулировка задачи:

1)почему-то считывается дважды с конца файла и поэтому удваивается последняя строка в новый файл. 2)не ищет вхождение строки в другой строке. все время говорит что "not found"
      //#include </home/cyberchuck/openssl-0.9.8h/include/openssl/md4.h>
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      /*char *cryptonit(char *s)
      {
        int i;
        MD4_CTX md4handler;
        unsigned char md4digest[MD4_DIGEST_LENGTH];
        MD4_Init(&md4handler);
        MD4_Update(&md4handler,s,strlen(s));
        MD4_Final(md4digest,&md4handler);
        return md4digest;
      } */

      int main()
  
      {
      FILE *f,*fN;
      char s[255],s1[255];
      printf("Insert name---XXXXX\n");
      scanf("%s",&s);
      strcat(s,".txt");
      f=fopen(s,"rt");
      fN=fopen("noname.txt","wt");
      while(!feof(f))
      {
        if (!feof(f)){
         fgets(s1,255,f);
         fputs(s1,fN);}
      }
      fclose(f);
      fclose(fN);
      remove(s);//удаляем
      rename("noname.txt",s);//переименовываем
      char s2[15];
      char *x="werra";//тестовая строка
      //printf("%s\n",x);
      printf("Insert string\n");
      scanf("%s",&s2);
      fN=fopen(s,"rt");
      while(!feof(fN))
      {
         fgets(s1,255,fN);
         if (strstr(s1,s2)==NULL)
         {
           printf("Not found\n");
           break;
         }
       }
       fclose(fN);
       return 0;
}

Решение задачи: «Считывание с конца файла происходит дважды»

textual
Листинг программы
      strcat(s2,"\n");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы