Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » txt datei löschen!

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
05.03.2006, 16:13 Uhr
FlorianW



Hi,

ich arbeite mich gerade in streams ein, also das arbeiten mit textdateien und so. Eine datei öffnen kann man ja zB mit:


C++:
ofstream daten_schreiben;
    string dateiname = "Test.txt";
    daten_schreiben.open(dateiname.c_str(), ios_base::out | ios_base::app);



Jezt meine Frage: Gibt es eine mögllichkeit, entweder einzelne zeilen zu löschen oder eine ganze datei zu löschen?

danke für eure Hilfe,
mfg,
Florian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.03.2006, 16:21 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ganze datei geht mit unlink bzw unter Windows mit DeleteFile, einzelne Zeilen löschen geht nur mit neuschreiben der kompletten datei
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.03.2006, 16:40 Uhr
FlorianW



Hi, danke ersmal, aber ich bekomms noch nicht hin, was mache ich falsch?


C++:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;

void loeschen()
{
    ifstream daten_lesen;
    string dateiname = "test.txt";
    DeleteFile (dateiname.c_str ());
};
int main()
{
    
    loeschen();

    return 0;
};

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.03.2006, 17:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Wie bereits Flo schrieb musst du erst einmal testen ob die Datei existiert bevor du sie löschen kannst. Zum testen ist es notwendig, die Datei zum lesen zu öffnen. Danach kannst du die dann abschiessen falls es Sie geben sollte
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.03.2006, 17:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


zum löschen braucht man nicht testen ob sie existiert, wenn sie nicht existiert, wird sie halt einfach nicht gelöscht, sie existiert ja nicht ;-)

Achja, Anmerkung: Wenn eine datei nicht lesbar ist heißt es theroetisch noch lange nicht das sie nicht existiert, kann auch sein das sie entweder exklusiv geöffnet ist oder du keine Rechte auf die Datei hast
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.03.2006, 17:31 Uhr
proggaa



so viele flo's, hilfe! (bin auch ein flo ^^)

naja, ich würd das irgendwie anders, aber komplizierter machen (ich denke zu kompliziert):


C++:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;

void loeschen()
{
    string dateiname = "test.txt";
    ifstream dateiname;
    
    if(dateiname)
    {
        system("del test.txt");
    }
    
};
int main()
{
    
    loeschen();

    return 0;
};



ok, ich weis, anders is besser


C++:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;

void loeschen()
{
    string dateiname = "test.txt";
    ifstream dateiname;
    DeleteFile (dateiname.c_str ());
};
int main()
{
    
    loeschen();

    return 0;
};


Dieser Post wurde am 05.03.2006 um 17:31 Uhr von proggaa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.03.2006, 17:38 Uhr
FlorianW



Danke proggaa, so geht es!

Auch den anderen vielen dank für eure Mühe!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.03.2006, 17:39 Uhr
proggaa



bidde
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.03.2006, 17:42 Uhr
FlorianW



aber ein Problem hab ich da doch noch:
Die datei heisst ja nicht immer "test.txt", kann ich da nicht einfach einen String einsetzen, irgendwie?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.03.2006, 17:55 Uhr
proggaa



ich glaub es zumindest, dass es so geht:


C++:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;

void loeschen()
{
    string dateiname = "test.txt";
    string befehl = "del " + dateiname;
    ifstream dateiname;
    
    if(dateiname)
    {
        system(befehl);
    }
    
};
int main()
{
    
    loeschen();

    return 0;
};


Dieser Post wurde am 05.03.2006 um 17:56 Uhr von proggaa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


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: