Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Skúsený užívateľ
Skúsený užívateľ
náhodné bity

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 07.12.2008 10:24

Ahojte.

Včera som prvý krát skúšal c++. Chcem si spraviť program na bezpečné mazanie dát (/prečistenie disku od vymazaných dát zápisom sekvencie náhodných bitov niekoľko krát za sebou).
Problém je v tom, že neviem poriadne, ako nasimulovať tie náhodné bity.
Vytvoril som si premennú typu char a pridelil jej náhodné číslo medzi 0 a 255. Myslel som si, že to bude fungovať. Lenže som zistil, že keď zapíšem 4 takéto byty, tak súbor má veľkosť 12 bytov (nie vždy, závisí od toho, aké byty sa vytvoria) :O . Tým pádom neviem zistiť, koľko som už zapísal.
Mohol by mi niekto pomôcť so spôsobom, ako vytvoriť náhodný byte o veľkosti 1 byte? :)

Kód, ktorý doteraz mám (berte do úvahy, že som nikdy v C ani C++ nerobil)
Kód:
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
   int filesize,i,rndint;
   char cr;
   cin >> filesize;
   FILE * pFile;
   pFile = fopen ("myfile.txt","w");
   if (pFile!=NULL){
      for(i=0;i<filesize;i++){
         srand((unsigned)time(0));
         cr = random()%255;
         fputs((cr+""),pFile);
      }
      fclose(pFile);
   }
}

Na prerobenie tam je toho ešte veľa, napríklad srand treba trošku inak vypočítavať, time nie je zrovna to pravé orechové. Tiež musím vypočítať voľné miesto na disku, teraz ručne zadávam veľkosť takéhoto súboru.







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 07.12.2008 11:45

Chyba je podla mna v tom, ze ty sice vygenerujes cislo, ktore v pamati zabera jeden bajt, ale ked sa zapise do suboru, dochadza ku konverzii na znaky a moze zaberat aj tie 3 bajty. Napr. vygenerujes cislo 123 a zapise sa do suboru, pricom su to 3 znaky a kazdy ma jeden bajt. Najlepsie by bolo pouzit formatovany vystup
fprintf(pFile, "%c", cr) - vtedy ti zapise znak, ktoreho hodnota je vygenerovane cislo v znakovej tabulke, napr. pre cislo 123 je to znak'{'
alebo das
cr = random()%10;, cim dosiahnes, ze hodnota cr bude len v rozsahu od 0 do 9, takze pri zapise do suboru budu mat tieto znaky len 1 bajt a zapisovat mozes pomocou fputs(), ako predtym.
Neskusal som to sice, ale myslim, ze by to malo fungovat... :rolleyes:







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 07.12.2008 14:34

namiesto fputs preba pouzit:

Kód:
fputc(cr,pFile);


lebo ono to fungovalo tak, ze ak cr bolo 123, tak Ti to vypisovalo cely retazec, ktory zacinal na adrese 123;
fputs... vypisuje retazec!!! a nie znak


Offline

Skúsený užívateľ
Skúsený užívateľ
náhodné bity

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok Napísal autor témyOffline : 07.12.2008 15:08

Ďakujem za rady, pomohli. Keď program dokončím, hodím sem kód, snáď sa niekomu zíde.







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Bity ::: Bity ::: Bity

v Assembler, C, C++, Pascal, Java

8

533

24.04.2009 19:24

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. bity

v Operačné systémy Microsoft

4

545

06.08.2008 18:22

asusko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne

v Redakčné systémy

7

778

20.08.2007 15:42

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné reštartovanie

v Operačné systémy Microsoft

0

273

15.04.2021 22:06

medove Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne obrazky

v JavaScript, VBScript, Ajax

5

915

29.01.2009 20:43

dsljohn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne obrazky

v PHP, ASP

2

557

08.09.2008 7:25

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné zamrzanie

v AMD čipové sady

2

548

21.09.2016 19:12

scopers Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne video

v JavaScript, VBScript, Ajax

7

666

04.03.2010 12:14

vputin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nahodne BSOD

v Operačné systémy Microsoft

4

455

10.06.2020 17:22

4040 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. náhodné BSOD

v Operačné systémy Microsoft

12

592

18.06.2013 22:32

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné reštarty

v PC skrinky a zdroje

3

372

03.05.2016 14:04

Miso122 Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Nahodne vypinanie pc

v AMD čipové sady

2

601

11.07.2012 13:44

OmeGa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne vykreslovanie - pascal

v Assembler, C, C++, Pascal, Java

16

1660

03.06.2007 22:38

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nahodne rozhadzana hudba

v Ostatné programy

0

391

25.03.2016 20:46

mareks4 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nahodne restartovanie systemu.

v Intel - Integrated Electronics

18

887

03.09.2011 1:33

Millfox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodne zobrazovanie scriptu

v PHP, ASP

1

727

22.12.2006 18:05

Alyx_Vance Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra