[C++]jak sprawic aby strlen i strcmp sprawdzaly dlugosc plik

0

Witam
Mam taki problem: strcmp i strlen sprawdza mi po nazwie a nie zawartości pliku. Jak przekształcić ten kod, żeby strcmp i strlen odnosił się do zawartości pliku a nie nazwy? Będę wdzięczny za pomoc.

#include <stdio.h>
#include <iostream.h>

main()
{
 char c,s[20],t[20];
 FILE *fp, *fp2;
 int spr;
 cout<<"Podaj nazwe pierwszego pliku: ";
 gets(s);
 fp=fopen(s, "w");
 for (int i=1;i<=5;i++)
  {
   cout<<"Podaj znak: ";
   cin>>c;
   putc(c,fp);
  }
 fclose(fp);
 getchar();
 getchar();
 fp=fopen(s, "r");
 do
  {
   c=getc(fp);
   if (c!=EOF)
   {
    Sleep(250);
    cout<<c;
   }
  }
 while (c!=EOF);
 fclose(fp);
 cout<<endl;
 cout<<"Podaj nazwe drugiego pliku: ";
 gets(t);
 fp2=fopen(t, "w");
 for (int i=1;i<=5;i++)
  {
   cout<<"Podaj znak: ";
   cin>>c;
   putc(c,fp2);
  }
 fclose(fp2);
 getchar();
 getchar();
 fp=fopen(t, "r");
 do
  {
   c=getc(fp2);
   if (c!=EOF)
   {
    Sleep(250);
    cout<<c;
   }
  }
 while (c!=EOF);
 fclose(fp2);
 cout<<endl;

 fp=fopen(s, "r");
 fp2=fopen(t, "r");

 spr=strcmp(s,t);
 if (spr==0)
  cout<<"Pliki sa takie same"<<endl;
 else
  cout<<"Pliki sa rozne"<<endl;

 if (strlen(s)==strlen(t))
  cout<<"Pliki maja taka sama dlugosc"<<endl;
 else
  cout<<"Pliki maja rozna dlugosc";

 fclose(fp);
 fclose(fp2);

 getchar();

}

Wiem, że zmienne t i s przechowują nazwy tych dwóch plików i dlatego strcmp i strlen sprawdza właśnie po nazwach, ale nie wiem jak to zmodyfikować, by sprawdzał wg. zawartości.

0

Normalnie, wczytaj zawartość. I na Niewidzialnego Różowego Jednorożca, przerób to człowieku na 'normalne' C++ a nie coś, co jest co najmniej w Twoim wieku.

0

Jak mnie nie znasz to nie pisz ile mam lat analizując kod wrzucony na forum, ok? Sprawdzałeś w ogóle ten kod, czy piszesz byle napisać?

0

Tak, rzuciłem okiem na kod, jest całkowicie do wymiany. Nie wiem czy zdajesz sobie sprawę, ale standard C++ na dobrą sprawę ma 13 lat (ukończony rok przez nadaniem normy), ten kod zaś z nim delikatnie mówiąc niezgodny. Tak w C++ pisało się jakieś 18 lat temu...

1 użytkowników online, w tym zalogowanych: 0, gości: 1