» »

[C++]Polnjenje diska

[C++]Polnjenje diska

Nejc Pintar ::

Torej zanima me, kako najhitreje zapolniti disk. Imam eno zanko ampak ni dovolj hitra zame. Potrebujem tako da bo prehitevala disk>:D. Podatki pa naj bi bili čimbolj random:D
Lahko je biti prvi, če si edini!
  • zaklenilo: OwcA ()

Quikee ::

Naredi 2 niti... ena ko zapisuje na disk nek buffer velikosti recimo 4 MB.. druga pa randomizira buffer. =)

64202 ::

linux: cat /dev/urandom > fajl
I am NaN, I am a free man!

Nejc Pintar ::

Aja, zanima me še kako skrijem konzolo?
Lahko je biti prvi, če si edini!

64202 ::

Mislis zapres, pa v ozadju to dela?

(cat /dev/urandom > fajl &)

potem pa zapri oknc :)

Skenlas pa to recimo s KDE system guardom (ctrl+esc)
I am NaN, I am a free man!

Zgodovina sprememb…

  • spremenilo: 64202 ()

Nejc Pintar ::

currently on windows xp:\
Lahko je biti prvi, če si edini!

64202 ::

a mas c compiler?
I am NaN, I am a free man!

Nejc Pintar ::

Dev-C++
Lahko je biti prvi, če si edini!

64202 ::

Evo kar cel program, ko ze dnevno pisem c-jaste stvari:
#include <windows.h>
#include <stdio.h>

int main()
{
        size_t i;
        char buf[1024*1024];
        HANDLE file;
        DWORD written;

        printf("Buffer size: %u\n", sizeof(buf));

        for(i=0; i<sizeof(buf); ++i)
                buf[i] = (char)rand();

        file = CreateFile("fajl.bin", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
        if(!file) {
                printf("Error opening file\n");
                ExitProcess(0);
        }

        while(WriteFile(file, buf, sizeof(buf), &written, 0))
                ;

        printf("Error writing %u\n", GetLastError());

        return 0;
}


Je grozno nerandom, tezje bi pa slo hitreje. Lahko prestavis rand() v writefile loop ali celo uporabis kak bolj resen random generator (openssl, MS-jev crypto api ga ziher tudi ima, ...)
I am NaN, I am a free man!

Nejc Pintar ::

rand(); je precej ne-random:\

sicer pa hvala, je res hiter:D
Lahko je biti prvi, če si edini!

Zgodovina sprememb…

64202 ::

Ce bos ubral pot openssl, potem je treba narediti samo to:
#include <openssl/rand.h>

// v writefile loopu:
RAND_pseudo_bytes((unsigned char*)buf, sizeof(buf));


Moras pa seveda openssl imeti...
I am NaN, I am a free man!

Vesoljc ::

Abnormal behavior of abnormal brain makes me normal...

alum ::

Torej zanima me, kako najhitreje zapolniti disk.

Aja, zanima me še kako skrijem konzolo?


lahko ugibam zakaj bos program uporabljal? =)

Nejc Pintar ::

lahko ugibaš, povedal pa še ne vem če ti bom:\
Lahko je biti prvi, če si edini!

OwcA ::

a res hočeš, da ugibam? ;((
Otroška radovednost - gonilo napredka.

Nejc Pintar ::

hočem ne, nočem ne, pravzaprav mi je vseeno

now stop to spam:\
Lahko je biti prvi, če si edini!

OwcA ::

Se strinjam.
Otroška radovednost - gonilo napredka.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Čiščenje računalnika pred predajo

Oddelek: Pomoč in nasveti
434947 (3367) imagodei
»

Kako varno (trajno) zbrisati podatke iz SSDja

Oddelek: Pomoč in nasveti
141548 (1097) hojnikb
»

Kako varno brisati pomnilne medije

Oddelek: Loža
161691 (1152) Azrael
»

[Linux] Kreiranje datotek z naključno vsebino

Oddelek: Operacijski sistemi
81203 (1095) jype
»

Trajno brisanje podatkov

Oddelek: Programska oprema
102277 (2170) pagat34

Več podobnih tem