#include <iostream> #include <fstream> using namespace std; int main () { //Variblen deklarieren fstream file; char choice; char filename[31]; bool write = false; bool machet = false; //file.open("viech.txt",ios::out); //for (unsigned short i =0;i<5;i++) // file << i << endl; //file.close(); do { cout<<"Dateiname?\n"; //Dateiname einlesen cin>>filename; //Datei mit Leserechten öffnen file.open(filename,ios::in); //Wenn Datei vorhanden - überschreiben? if ( file.is_open() ) { cout<<"uerberschreiben?\n"; cin>>choice; file.close(); if ( choice == 'y') write = true; } else { write=true; } //Daten in Datei schreiben if (write) { //Datei mit schreibrechten öffnen file.open(filename,ios::out); for ( unsigned short i =0;i<11;i++) { file << i << endl; } file.close(); } //Weitere Datei bearbeiten? cout<<"nochmal? 1 oder 0\n"; cin>>machet; write=false; } while(machet); }
Ich habe atm ein Problem mit dem schreiben von Daten in eine Datei =/
Der Code an sich ist nur zum probieren da ich das Problem in einem größeren Programm auch hab und nun die Lösung suche
Das Programm startet und man gibt einen Dateinamen ein
Das Programm überprüft dann ob die Datei bereits vorhanden ist und wenn ja wird gefragt ob sie überschrieben werden soll.
Problem: Wenn die Datei nicht vorhanden ist wird sie zwar erstellt aber es stehen keine Daten drin =/
Läuft dsa programm dann ein zweites mal durch und man verwendet den gl Dateinamen wird man zwar gefragt ob man überschreiben möchte, sagt man ja dann wird aber nix überschrieben bzw es stehen weiterhin keine Daten in der Datei.
Beendet man das Programm jedoch nachdem eine Datei erstellt wurde, startet es neu und sagt ihm er soll die Datei die man beim letzten mal erstellt hat überschreiben funzt es oO
Ich hoffe ich hab mich klar genug ausgedrückt und ihr könnt mir helfen
greetz skelle
Dieser Beitrag wurde von skelle bearbeitet: 09. November 2007 - 10:02