Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Datei selbst benennen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
26.04.2004, 12:07 Uhr
~Barney
Gast


Moin!

Ich hab ein kleines Problem:

Ich möchte in eine Date schreiben, den Dateinamen aber immer abfragen, z.B.:


Code:
cout << "Wie soll die Datei heissen?\t";
cin >> x;
ofstream Datei("x.dat");


Jetzt schreibt er immer in "x.dat". Was für einen Befehl muss ich benutzen, damit das Programm den eingebenen Namen als Dateinamen benutzt?

Die Frage ist wahrscheinlich banal, aber ich finde einfach nichts...

Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.04.2004, 12:17 Uhr
RedEagle




C++:
//...
#include <string.h>
//...

string x, name;

cout << "Wie soll die Datei heissen?\t";
cin >> x;

name = x + ".dat";

ofstream Datei(name.c_str());

//...



so, oder so ähnlich müsste es gehen
--
MFG RedEagle

Dieser Post wurde am 26.04.2004 um 12:17 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.04.2004, 13:53 Uhr
0xdeadbeef
Gott
(Operator)


Oh, oh. Das wird so nicht kompilieren - string.h ist ein C-Header. Versuchs mal so:

C++:
#include <string>

using namespace std;
//...

string x, name;

cout << "Wie soll die Datei heissen?\t";
cin >> x;

name = x + ".dat";

ofstream Datei(name.c_str());


Oder, eigentlich noch besser (weil man sieht, was in welchem namespace hängt):

C++:
#include <string>
//...

std::string x, name;

std::cout << "Wie soll die Datei heissen?\t";
std::cin >> x;

name = x + ".dat";

std::ofstream Datei(name.c_str());


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.04.2004, 14:11 Uhr
RedEagle




Zitat:
0xdeadbeef postete
Oh, oh. Das wird so nicht kompilieren - string.h ist ein C-Header.



mmm Bei mir gets mit string.h (DEV-CPP)
--
MFG RedEagle

Dieser Post wurde am 26.04.2004 um 14:12 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.04.2004, 14:15 Uhr
0xdeadbeef
Gott
(Operator)


Vielleicht wird string in deiner Implementierung von nem anderen Header (z.B. iostream) mit eingebunden. Aber string.h ist ein C-Header, der die ganzen alten C-String-Handling-Funktionen wie strcmp, strstr usw. deklariert.

string war auch im alten C++-Standard schon ohne .h hinten dran, eben wegen dieser Doppeldeutigkeit. Inzwischen sollte man das .h aber von allen C++-Standard-Headern weglassen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.04.2004, 15:52 Uhr
Barney



Danke, hat geklappt! Nur das mit dem string nicht!

Barney

Jetzt muss ich nur noch rausfinden, wie ich eine Zufallszahl zwischen 0 und 1 generiere, die nicht abhängig von der Zeit ist...

Dieser Post wurde am 26.04.2004 um 15:53 Uhr von Barney editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.04.2004, 16:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Jetzt muss ich nur noch rausfinden, wie ich eine Zufallszahl zwischen 0 und 1 generiere, die nicht abhängig von der Zeit ist


damit wirst du wohl schwierigkeiten haben. du bräuchtest schon eine externe rauschquelle von der du einen quantisierten wert abliest.
es gibt auch internetseiten von denen du dir einen solchen zufallswert der aus der hintergrundstrahlung ermittelt wird schicken lassen kannst.
was spricht denn bei dir dagegen den zufallsgenerator mit der zeit zu initialisieren?
wenn du dich sogar nur auf 0 und 1 beschränken willst sollte das doch überhaupt kein problem aufwerfen
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 26.04.2004 um 16:06 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.04.2004, 16:35 Uhr
Barney



Naja, ich habe die Aufgabe in ein quadratischen Feld eine bestimmt Anzahl an Punkten einzuwerfen. Das wollte ich mit folgender Funktion machen:

srand( time(0) );

Wenn ich die Funktion jetzt kurz hintereinander aufrufe sind die Zahlen nur minimal unterschiedlich. Ich hab das Gefühl, dass nachher im Feld alle Punkte eng beieinander liegen und nicht unregelmäßig über das ganze Feld verteilt...

Barney

Dieser Post wurde am 26.04.2004 um 16:35 Uhr von Barney editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.04.2004, 16:50 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das ist halt das problem bei auf dem rechner erzeugten zufallszahlen, die sind halt nicht wirklich zufällig (deswegen heissen die ja auch nur pseudo-random numbers) weil die halt nach ner folge berechnet werden die halt bei irgend nem startwert beginnt den du mit dem srand festlegst.

wenn du dein programm innerhalb kurzer zeit oft hintereinander aufrufst wird er natürlich auch immer das gleiche auspucken weil du quasi immer mit dem gleichen wert initialisierst.

wenn du das nicht willst musst da halt sicherstellen das dein programm z.b. maximal jede minute einmal aufgerufen werden kann.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.04.2004, 16:54 Uhr
Barney



Das wäre ja nicht das Problem. Ich dachte bis jetzt nur, wenn ich zwanzig Werte haben möchte, dass das Programm diese Werte natürlich schnell hintereinander bestimmt. Dann unterscheiden die sich ja auch nicht sonderlich, oder mach ich einen Denkfehler??

Barney
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: