Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pytanie podmiany


Rekomendowane odpowiedzi

Opublikowano

Witam. Istnieje w C++ aby dodać np. gdy plik już istnieje u mnie to żeby go sprawdzało, jeśli posiada inną zawartość to żeby go podmieniało ?

Opublikowano

Ja proponuje wczytać cały plik do tablicy, tekst wpisany w program, który będzie sprawdzany do kolejnej i porównanie ich. Przykładowy kod na porównanie:

bool poprawnosc = true; // Zmienna typu bool
for( int i = 0; i < linie; i++ ) // Petla, gdzie zmienna "linie", to ilosc linii w pliku
{
if( tablica1[i] != tablica2[i] ) poprawnosc = false; // Jesli roznica, to poprawnosc false
if( poprawnosc == false ) break; // Jesli poprawnosc false to wyjdz z petli
}
if( poprawnosc == true ) std::cout << "Obie tablice sa identyczne!" << std::endl; //Wypisz wyniki
else std::cout << "Tablice nie sa identyczne!" << std::endl;

Kod napisany na szybko, powinien się kompilować. Porównanie tablic (np charów) i zwrócenie wartości. Odczyt z pliku napisz sam ;)

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

@up marnowanie zasobów. Na to samo wyjdzie jak zrobisz sobie plik kontrolny z tym co powinno tam być, wczytasz oba pliki do stringa a potem strcmp, tylko że szybciej i mniej zasobów to zeżre.

 

No i nie rozumiem po co zmienna, skoro komunikaty można wstawiać bezpośrednio przy sprawdzaniu, zamiast zaśmiecać kod dodatkowym stuffem.

846331404756772371599.jpeg
Opublikowano

@up marnowanie zasobów. Na to samo wyjdzie jak zrobisz sobie plik kontrolny z tym co powinno tam być, wczytasz oba pliki do stringa a potem strcmp, tylko że szybciej i mniej zasobów to zeżre.

Czemu mniej, skoro i tak masz wczytane również 2 całe pliki na raz i czemu szybciej, skoro strcmp działa na bardzo podobnej zasadzie co ten wyżej. Oba porównują w O(n).

I czemu nie użyć przeciążonego operatora == w stringu jeśli już?

Opublikowano

można i operatora użyć, tylko strcmp jest tak jakby... klasycznie :D

To polecam assemblera.

string pierwszy, drugi;...if(strcmp(pierwszy.c_str(), drugi.c_str())!=0)
czy

string pierwszy, drugi;...if(pierwszy == drugi)
Nie widzę racjonalnego wytłumaczenia, aby używać w tym przypadku pierwszej metody.
Opublikowano

@Phoenix_PL, podałbyś może swój sposób? Uczę się dopiero języka i takie coś pewnie by mi się przydało skoro jest szybsze i mniej pamięciożerne :D Chyba, że mój sposób nie jest taki zły ;)

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...