Ergebnis 1 bis 4 von 4

Thema: [C++] Binäre Datei downloaden

  1. #1
    lugga
    Gast

    Standard [C++] Binäre Datei downloaden

    Hi,
    ich habe folgendes Problem ich möchte eine binäre datei über http-get request downloaden... und anschließend in einer datei speichern. in der datei speichert er aber nur müll und auch viel zu wenig... ich denke mal es liegt daran das ich die daten die ich von server bekomme in einen string speichern lasse...
    ich komme aber leider als anfänger auch auf keine andere möglichkeit

    kann mir bitte einer weiter helfen?
    bin schon am verzweifeln

    thx
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Also ich würde ein (unsigned) char Array dafür nehmen, auch wenn der std::string afaik binary safe ist. Der Fehler kommt vermutlich daher, dass du die Datei nicht mit ios_base::binary öffnest. Aber da du keinen Code postest, ist das schwer zu sagen...

  3. #3
    lugga
    Gast

    Standard

    danke erstmal für die antwort

    die teile für die rückgabe des sockets:

    in mail.cpp

    Code:
    string s;
    ofstream ffile("x.exe");
    while (true){
           socket >> s;
           ffile << s;
    &#125;
    ffile.close&#40;&#41;;
    in socket.cpp

    Code:
    int Socket&#58;&#58;recv &#40; string& s &#41; const &#123;
      char buf &#91; MAXRECV + 1 &#93;;
      s = "";
      memset &#40; buf, 0, MAXRECV + 1 &#41;;
      
      int status = &#58;&#58;recv &#40; m_sock, buf, MAXRECV, 0 &#41;;
      if &#40; status > 0 || status != SOCKET_ERROR &#41; &#123;
         s = buf;
         return status;
      &#125;
      else &#123;
         throw SockExcept&#40;"Fehler in Socket&#58;&#58;recv"&#41;;
         return 0;
      &#125; 
    &#125;
    in clientsock.cpp
    Code:
    const ClientSock& ClientSock&#58;&#58;operator >> &#40; string& s &#41; const &#123;
       if &#40; ! Socket&#58;&#58;recv &#40; s &#41; &#41; &#123;
          throw SockExcept&#40;
             "ClientSock&#58; Fehler bei Socket&#58;&#58;recv&#40;&#41;"&#41;;
       &#125;
       return *this;
    &#125;
    der rest scheint zu gehen (mit snifer pakete mitgeschnitten... ist alles so wie es auch sein muss)

  4. #4
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Also zuerst solltest du dein ffile mit dem Mode binary und out öffnen:
    Code:
    ofstream ffile&#40;"x.exe", ios_base&#58;&#58;out | ios_base&#58;&#58;binary&#41; ;
    Wenn es dann immernoch nicht klappt, würde ich ins blaue behaupten das es am operator<< von ofstream liegt. Der liest nämlich formatierte Daten ein. Das heißt ein Integer wird als Text in die Datei geschrieben. Weiß jetzt allerdings nicht genau wie er das bei std::strings macht.

    Um sicher zu gehen würde ich das mit write machen.

Ähnliche Themen

  1. Wie kann ich eine Excel Datei in meiner MySql Datei einlesen
    Von Buef im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 08.08.2007, 16:36
  2. [C++] Datei von einem Server downloaden
    Von DarkSyranus im Forum Forum für alle anderen Programmiersprachen
    Antworten: 6
    Letzter Beitrag: 28.05.2007, 02:59
  3. Textinhalt einer html.datei aus einem andere datei aufrufen.
    Von redindian im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 09.04.2007, 10:21
  4. Macromedia-Flash Datei Downloaden???
    Von Ilmer im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 15.02.2006, 22:52
  5. Javascript: externe JS-Datei in einer externen JS-Datei
    Von µaTh im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 29.10.2005, 19:27

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •