Problem mit ofstream



  • Hi Ho (:

    Ich hab ein Problem ^^

    //---------------------------------------------------------------------------
    #include <iostream>
    using namespace std;
    #include <fstream>
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "IdFTPServer"
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
    String a;
    a = Edit1->Text;
    
    ofstream datei("text.txt");
            datei<<a;
    
    IdFTP1->Host="testaccount435.te.funpic.de";
    	IdFTP1->Username="login";
    	IdFTP1->Password="pw";
    	IdFTP1->Passive=false; //ist auch Standard
    	IdFTP1->Port=21; //ist auch Standard
    	IdFTP1->TransferType=ftBinary;
    
            IdFTP1->Connect();
    
            IdFTP1->Put("text.txt","/text.txt",false);
    
            IdFTP1->Disconnect();
    }
    

    Den Text den ich ein Edit1 schreibe der wird ja dann in einer Text Datei gespeichert anschließend wir die Datei auf meinen FTP Server hochgeladen nur wenn ich in die Hochgeladene Datei schaue,

    dann steht dort nur 1 Buchstabe drin -.-

    In dem Ordner wo das Programm liegt wir ja dann auch die Text Datei erstellt wenn ich mir diese dann anschaue sind aber alle Buchstaben mit drin.

    Was hab ich da falsch gemacht ? 0_o



  • Hallo

    Nach dem Schreiben und vor dem Hochladen must du sicherstellen das die neue Datei auch wirklich erstmal auf die Festplatte geschrieben wird.

    ofstream datei("text.txt");
    datei<<a;
    datei.close();
    

    Oder du verlegst die Dateierstellung samt stream in einen eigenen Block und benutzt damit den Destruktor vom stream, der dann die close-Methode aufruft

    // Kann auch eine eigene Funktion sein
    {
      ofstream datei("text.txt");
      datei<<a;
    }
    

    bis bald
    akari



  • Thx funktioniert (-:


Anmelden zum Antworten