Mehrere Dateien im Ordner, Wie versenden?



  • nemo70 schrieb:

    Hallo, ich seh leider immer noch nicht wie man damit dann in ne File schreiben kann.

    Es ging gar nicht darum, in eine Datei zu schreiben^^ Es ging nur darum, dass er mehrere Dateien in einem Ordner hatte, die alle auslesen und im Netzwerk verschicken wollte :).



  • Achso, kann mir jmd viell einen Bsp-Source zeigen?

    Wär ur wichtig, vielen dank!

    Es reicht schon wenn die Datei in nen Buffer (array) geschrieben wird.



  • Der Source steht auf der ersten Seite, da werden auch Dateien in einen Buffer gelesen.



  • in contentpfile?



  • contentpfile? Ne, der Dateiinhalt befindet sich dann in pFileContent...
    Hat irgendjemand schon geschrieben und hat Recht: Am besten keine Dateien über 5 MB einlesen, dann wird das ganze etwas ineffizient.

    HANDLE hFile = CreateFile( FileName /*Dein Dateiname*/, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
    if ( hFile != INVALID_HANDLE_VALUE )
    {
        DWORD FileSize = GetFileSize( hFile, NULL );
        char* pFileContent = new char [ FileSize ];
    
        DWORD BytesRead;
        ReadFile( hFile, pFileContent, FileSize, &BytesRead, NULL );
        CloseHandle( hFile );
    
        // Inhalt verarbeiten: Daten in pFileContent, Größe in FileSize.
    
        delete [] pFileContent;
    }
    


  • Wow echt vielen Dank, hier bekommt man echt immer tolle Hilfe 👍

    mfg



  • Hallo nur noch eins:

    Wenn ich jetzt zb. mit diesen Funktionen den Benutzernamen (zb C:\\Dokumente und Einstellungen\\nemo70) auselese

    kann ich den so ermittelten Pfad eig dann wo anders auch verwenden?

    zb. C:\(wenn ich zb den Benutzernamen erst ermitteln muss)\\Dokumente und Einstellungen\\ermittelter Benutzername\\etc?

    Danke



  • Klar, wenn du dir den Namen irgendwo speicherst, kannst du ihn auch in anderem Umfeld einsetzen:

    std::string name = getUserName();
    std::string user_path = "C:\\Dokumente und Einstellungen\\"+name+"\\";
    std::string desk_path = user_path+"Desktop\\";
    ...
    


  • Hi!

    Dass mit dem integrieren im Path scheint leider nicht zu gehen:

    file=fopen("I:\\Dokumente und Einstellungen\"+Username+"\\Tohowaboho.txt","w+");

    Was mach ich falsch?

    Vielen Dank!

    EDIT: Ich progge übrigens in C.



  • muhi schrieb:

    Hi!

    Dass mit dem integrieren im Path scheint leider nicht zu gehen:

    file=fopen("I:\\Dokumente und Einstellungen\"+Username+"\\Tohowaboho.txt","w+");

    Was mach ich falsch?

    Vielen Dank!

    EDIT: Ich progge übrigens in C.

    Lern erst mal wie man in C mit strings arbeitet.



  • So, habs mir jetzt NOCHMAL angesehen, blick da echt nicht so ganz durch.
    Weiss ned wieso da was falsch ist bzw was ich stattdessen machen könnte.



  • Du kannst Char-Arrays nicht einfach mit + aneinanderhängen. Du musst diese Strings z.B. mit lstrcat zusammenhängen...



  • geschafft, danke für den Tipp


Anmelden zum Antworten