000
13.09.2004, 12:18 Uhr
~cout
Gast
|
Hallo, erst mal da ich neu hier bin! Also, zuerst einmal ich programmiere erst seit gut einer Woche darum bitte nicht auslachen! Mein Problem: Ich habe einen "Editor" für Dos-Prompt geschrieben. Mit den Funktionen: Datei anlegen und beschreiben Datei löschen etc. Nun meine Frage: Wie kann ich einen Text in eine Datei schreiben, heißt mit Leerzeichen(ohne funktioniert es ja). Der Code: Achtung: Es sind noch nicht alle switch anweisungen mit einer Funktion ausgestattet! ----------------------------------------------------------------------------------------------------
C++: |
// Editor für Ein und Ausgabe #include <iostream> #include <fstream> #include <string>
using namespace std;
struct editor { string x; string tmp; char y; };
editor read_in() { ifstream dat_ein; editor einlesen;
cout << endl; cout << "Geben Sie den Namen\\Pfad zur Datei ein: "; cin >> einlesen.x; cout << endl;
dat_ein.open(einlesen.x.c_str(), ios_base::out); if(!dat_ein) { cout << "Datei konnte nicht geöffnet werden: " << endl; cout << endl; }
while(!dat_ein.eof()) { dat_ein.get(einlesen.y); cout << einlesen.y; } dat_ein.close(); fflush(stdin); getchar(); return einlesen; } /* Hier liegt das Problem! und zwar bei: cout << "Text eingeben: "; cin >> lesen.tmp; dateiname << lesen.tmp << endl; Wenn ich einen Text eingebe werden nur die Buchstabe bis zu einem Leerzeichen in die Datei geschrieben! Soll ich es mit einem char Datentype versuchen, ja? aber wie?*/
editor write_in() { ofstream dateiname; editor lesen;
cout << endl; cout << "Geben Sie den Pfad an in dem Sie die Datei amlegen wollen: "; cin >> lesen.x; cout << endl;
dateiname.open(lesen.x.c_str(), ios_base::out);
if(!dateiname) { cout << "Datei kann nicht angelegt werden," << endl; cout << "bzw. der Pfad >> " << lesen.x << " << existiert nicht!" << endl; }
cout << "Text eingeben: "; cin >> lesen.tmp;
dateiname << lesen.tmp << endl;
return lesen; }
int main() {
int befehl;
cout << "\t\t\t-----------------------------------" << endl; cout << "\t\t\t| Editor mit folgenden Funktionen:|" << endl; cout << "\t\t\t| Copyright Anonym |" << endl; cout << "\t\t\t-----------------------------------" << endl; cout << endl; cout << "Datei einlesen und ausgeben\t\t<1>" << endl; cout << "Datei erstellen und beschreiben\t\t<2>" << endl; cout << "Datei erweitern\t\t\t\t<3>" << endl; cout << "Datei ueberschreiben\t\t\t<4>" << endl; cout << "Programm beenden\t\t\t<5>" << endl; cout << endl; cout << "Ihre Eingabe: "; cin >> befehl;
switch(befehl) { case 1: cout << endl; cout << "Datei einlesen und ausgeben" << endl; read_in(); break; case 2: cout << endl; cout << "Datei erstellen und beschreiben" << endl; write_in(); break; case 3: cout << endl; cout << "Datei erweitern" << endl; break; case 4: cout << endl; cout << "Datei überschreiben" << endl; break; case 5: cout << endl; cout << "Programm beenden" << endl; break; default: cout << endl; cout << "Ungueltige Eingabe" << endl; break; } return 0; }
|
[edit virtual]Codetags bitte demnächst selber einfügen![/cpp] Dieser Post wurde am 13.09.2004 um 15:20 Uhr von virtual editiert. |