Dateioperationen



  • Hi Community,
    ich habe hier ein paar Fragen die ich auch schon im
    Chat gestellt habe aber mir konnte keiner helfen.
    Deswegen wende ich mich hier jetzt mal an die gesamte Bandbreite.

    Ich muss bzw. möchte...
    ...die existenz einer datei überprüfen.
    ...die dateigröße dieser ermittlen.
    ...die datei kopieren.

    das ganze mit standard-bibliotheken.
    mein betriebssystem ist windows xp.

    mfg 🕶



  • ifstream(file).good();
    ifstream(file).seekg(0,ios_base::end).tellg();
    ofstream(d)<<ifstream(s).rdbuf();
    


  • thomas001 schrieb:

    ifstream(file).good();
    

    funktioniert nicht richtig wenn zb leserechte fehlen

    thomas001 schrieb:

    ifstream(file).seekg(0,ios_base::end).tellg();
    

    gut gelöst, danke

    thomas001 schrieb:

    ofstream(d)<<ifstream(s).rdbuf();
    

    kannst du mir das erklären? wie wende ich das an?



  • oke habs jez hingekriegt! - danke nochmals.
    die einzige offene frage ist das mit dem überprüfen der existenz.
    hat dazu jmd eine idee?

    achja: ich hab jez schon ewig in google gesucht...
    wie binde ich ein icon in der vc++ express ein?



  • Phenex schrieb:

    ...die einzige offene frage ist das mit dem überprüfen der existenz.hat dazu jmd eine idee?...

    Also nur als "Hack" zum thomas001-Lösungsvorschlag: Wenn es nur um die Rechte geht, kannst Du natürlich bei fehlschlagenden "good" versuchen, es zum Schreiben zu öffnen ... wenn das auch fehlschlägt, ist die Datei wahrscheinlich da. 😉

    Gruß,

    Simon2.



  • es muss doch möglich sein in c++ 100%ig zu bestimmen ob eine datei
    existiert oder nicht? und hat jmd eine idee wegen dem icon?



  • Icon ist OS abhängig -> kann C++ nicht.
    Evtl. schaust du dir mal boost::filesystem an, da gibts einige Funktionen wie file_exists oder so.



  • naja ich möchte eigentlich keine extra header einbinden.
    wenn das mit c++ nicht geht, wie dann?



  • Mit Spezialfunktionen deines Betriebssystems (WinAPI etc).



  • Phen-ex schrieb:

    naja ich möchte eigentlich keine extra header einbinden.
    wenn das mit c++ nicht geht, wie dann?

    Dann musst du auf die API des Betriebssystems zurueckgreifen, anders ist es
    nicht moeglich.

    gruss
    v R


Anmelden zum Antworten