Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

C

Crymes

Guest
Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Hallo.
Da wir bald einen Computer verkaufen und ich praktischen Spass noch dran haben will, habe ich mir überlegt, ein Programm zu erstellen, dass eine beliebig große Datei erstellen soll, mit dem man dann die komnplette Festplatte überschreibt.
Jetzt habe ich mehrere Probleme:

Code:
[FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000]
// Dateierstellung.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.

//[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"stdafx.h"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"iostream"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"conio.h"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"string"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"sstream"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"fstream"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
#include[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"ctime"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
using[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]namespace[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] std;[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
int[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] main()[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
{

	string speicherort=
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]""[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]int[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] size=0;[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	fstream datei;

	string time = 
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]""[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]int[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] count=0;[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	

	cout << 
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Dieses Programm erstellt eine beliebig große Datei."[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] << endl << [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Stellen sie sicher, dass genug Speicherplatz zur Verfügung steht!"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	cout << 
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Geben sie den Speicherpfad für die Datei ein >>>>"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	cin >> speicherort;

	cout <<
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Geben sie die Größe der Datei in GByte ein >>>>"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	cin >> size;

	datei.open(
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"speicherort"[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2], ios::out);[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]do[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	{

		time = 
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]""[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
		srand(time(NULL));

		time = rand() %1000000;

		datei << time;

		count=count+1;

		

	}

	
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]while[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] (count=size);[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
	datei.close();

	
[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]return[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2](0);[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
}[/SIZE][/FONT][/SIZE][/FONT]

1. Bei dem srand(time(NULL));
wird bei dem time gemeckert, dass irgendwas ohne entsprechender pointer funltion passiert.

2. Weiss einer, wie ich das realisieren kann, dass bis zu einer bestimmten Dateigröße weitergeschrieben wird?

Danke für eure Antworten, Crymes.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Mein letztes C++ ist schon'n Weilchen her, aber mal meine 2 Gedanken dazu:
srand(time(NULL)); sieht für mich eigentlich okay aus. Bei der nächsten Zeile... time ist doch ein string!? und rand() liefert irgendwas int-ähnliches zurück...
Die Dateiausgabe würde ich auf Binärebene machen, damit kannst du besser kontrollieren wieviele Daten du schreibst (diese dann einfach "mitzählen", fertig). Zur Anregung: C++ Binary File I/O

Aber am Ende wird das vermutlich nicht sehr effizient und du kannst damit keine Dateien überschreiben, das ist dir hoffentlich klar? Also einziger Weg das einzusetzen: Festplatte formatieren, an Rechner hängen und AUF diesem Rechner die Dateien erzeugen, wobei du keine Kontrolle hast wo die Dateien physikalisch gespeichert werden. Die Festplattentools arbeiten alle auf noch niedrigeren Ebenenen.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Du darfst srand(...) eigentlich nur 1x aufrufen. Sonst kommen evtl. immer dieselben Werte heraus.
 
Ok, dass ich die Datei dann blind kopiere, ist in Ordnung.
Ich probiere heute nochmal rum, vielleicht habt's dann.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Der eine Fehler wurde ja schon angesprochen. Time ist bei dir ein String, rand() liefert aber einen int. Das kann nicht funktionieren.

Was ich auch nicht verstehe ist, warum du "ctime" einbindest. Das macht man normal mit <> bei den Standardbibs. :huh:

Zudem würde ich nicht ctime sondern <time.h> verwenden. Also zumindest ich verwende immer time.h und nicht ctime.
 
Bei Visual Studio sind diese " Standard.
Ich kann auch Time.h nehmen, habe davon keine Ahnung.
Ich probiere mal, dass Problem zu beheben, habe nur wenig Zeit.
Könnte ich eigentlich aus dem Programm einen Benchmark machen?
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Eigentlich dürfte nur stdafx.h die "" haben (weil die wirklich in deinem Projket liegt), alle anderen includes müssten <> haben.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Bei Visual Studio sind diese " Standard.
Also noch mal ganz genau, obwohl Bingo es ja schon gesagt hat!

Alles was du lokal in deinen Projektverzeichnis hast bindest du IMMER mit "" ein, bei Pfandangaben werden die vom Compiler immer relativ zum Projektverzeichnis interpretiert". Alle Header die zum Compiler gehören oder dessen Position du in den Compiler Optionen festgelegt hast bindest du IMMER mit <> ein.

VS ist da zwar genädig und geht dennoch, aber das machen bei weiten nicht alle! ;)
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

jo gcc etc meckert da
 
Also ich habe die Variable mal
Mit int belegt und Status 0 zugewiesen, meckert immer noch, dass er so nen komischen Pointer braucht.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

WO hast du WAS gemacht?

Bitte bei so etwas immer recht ausführlich sein
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

So, nach einigen Anpassung kompiliert es bei mir :ugly:

1. Nenne keine Variable wie eine vorhandene Funktion! ("String time;" ist also verboten!)
2. Brauchst du die Variable time überhaupt nicht, du kannst direkt datei << (rand() %1000000); schreiben. Abgesehen davon liefert rand() nen int und String ist daher nur von Interesse, wenn du die Datei mit nem Texteditor lesen willst.
3. do{ ... } while (count = size) ist eine Endlosschleife, da du eine Zuweisung vornimmst und keinen Vergleich (müsste wenn == heißen, was in diesem Fall aber logisch falsch wäre, da die Schleife nur 1x ausgeführt werden würde). In diesem Fall müsste es z. B. while (count < size) heißen, also solange count kleiner size ist.
4. srand nur 1x aufrufen hatten wir ja schon

Das steht nun in meiner main()
Code:
string speicherort;
int size = 0;
fstream datei;
int count = 0;

cout << "Dieses Programm erstellt eine beliebig große Datei." << endl <<
    "Stellen sie sicher, dass genug Speicherplatz zur Verfügung steht!";

cout << "Geben sie den Speicherpfad für die Datei ein >>>>";
cin >> speicherort;
cout << "Geben sie die Größe der Datei in GByte ein >>>>";
cin >> size;

datei.open("speicherort", ios::out);    
srand(time(NULL));

do
{
    datei << (rand() %1000000);
    count=count+1;
} while (count < size);  // wenn du das so machst musst du size noch auf Bytes umrechnen

datei.close();
return 0;
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

OK, danke.
Gibt es irgendeine funktion, die mir die Größe der Datei zurückliefert?
Ist das dann überhauptnoch performent?
Der braucht ja dann für das schreiben - schauen Zeit.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Versteh ich jetzt nicht ganz. Klar gibt es die Funktion, aber warum willst du die aufrufen, wenn du die Datei doch selbst erzeugst? Du zählst doch die counter-Variable hoch (wobei du die natürlich um die Anzahl geschriebener Bytes hochzählen musst, hier zum beispiel mit counter = counter + sizeof(int))
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

hätte sein können, dass die performanter ist.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Ähm.... Ich glaub du solltest dir mal nochmals einige Grundlegende Sachen anschauen wie Funktionen, Funktionsaufrufe, wie werden diese Abgearbeitet, und was sind Rückgabewerte bzw. überhaupt was sind die unterschiedlichen Datentypen und was bedeuten die, sowie deren Grenzen.

Um Performance solltest du dir die nächste Zeit erst mal keine Gedanken machen. So was macht man nur als wirklich erfahrener Programmierer an einem konkreten Problem, wenn einem auch klar ist, das man das Problem an sich im Halbschlaf runter schreiben kann. Vorher brauchst du gar nicht groß damit anfangen dir Gedanken über Performance zu machen, denn etwas performant zu machen ist WIRKLICH nicht so einfach und erfordert einiges an Erfahrung und Wissen.
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

Ich habe mir das korrigierte Programm nochmal genauer angesehen.
Kann mir nochmal einer sagen, wofür das srand(variable(NULL)) und das variable=rand()%irendwas steht?
Eigentlich reicht doch letzteres, oder?
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

srand() ist der sogenannte Seed für den PSeudozufallsgenerator. Damit wird der quasi initialisiert. Ansonsten kann es passieren, dass keine "zufälligen" Zahlen, sondern immer dieselben vergeben werden. DIe andere Operation ist die Modulo-Operation. rand liefert eine Zahl zwischen 0 und RAND_MAX. Mit Modulo kannst du den Zahlenbereich eingrenzen: rand() % 100 würde z. B. Zahlen zwischen 0 und 99 erzeugen. Diese Operation erzeugt also keine Zufallszahl, sondern schränkt nur den Bereich ein!
 
Dann wird also -in dem Fall time- erst eine beliebige Zahl geschrieben, und dann gelesen und auf den gewünschten Bereich verkleinert?
 
AW: Problem bei Programm, dass eine Datei mit bestimmter Größeerstellen soll !

srand(time(NULL)); // rand initialisieren; nur 1x aufrufen!

int v = rand() % 100; // v = Zahl zwischen 0 und 99
datei << v; // v in Datei schreiben
 
Zurück