char nach LPCSTR



  • Hi ich würde gerne wissen wie ich char nach LPCSTR konvertiere
    Ich möchte eine Datei auf einen FTP Server hochladen und der Dateiname soll der Coputername sein!
    Dazu habe ich Folgende Funktionen
    1.GetUserName:

    char computer_name[255];  
       nSize = sizeof( computer_name ); 
       GetComputerName( computer_name, &nSize );
    

    2.FtpPutFile aus der wininet bibliothek:

    FtpPutFile(hFtpSession, "C:\\MeinProgramm.log","da soll der computername+ .log herein!", FTP_TRANSFER_TYPE_BINARY, 0);
    

    Ich würde mich freuen wenn irgendwer eine Idee hat!

    MfG cobra11freak



  • Wo ist denn da genau das Problem? Du kannst 'computer_name' da doch direkt übergeben. Wenn Du noch ".log" anhängen willst, dann musst Du dafür 'strcat' verwenden.

    Aber eigentlich ist dieser Code nicht sehr C++-ig.



  • LPCSTR ist ein typedef:

    typedef const char* LPCSTR;
    typedef char* LPSTR;
    

    d.h. du kannst überall, wo LPCSTR erwartet wird auch char* übergeben. Und zu deiner zweiten Frage:

    char name[256];
    GetComputerName(name, 256);
    strcat(name, ".log");
    FtpPutFile(hFtpSession, "C:\\MeinProgramm.log", name, FTP_TRANSFER_TYPE_BINARY, 0); 	
    
    // besser ists aber, wenn du mit std::string arbeitest, damit geht vieles leichter:
    
    char name[256];
    GetComputerName(name, 256);
    std::string Name(name);
    Name += ".log";
    FtpPutFile(..., ..., Name.c_str(), ...);
    

    std::string::c_str() wandelt den String in const char* oder eben LPCSTR um.



  • Danke für die hilfreichen Antworten!
    Vieleicht muss ich euch noch Fragen wie man am anfang der Variablen name ein \\ mache, falls ich das alleine nicht hinbekomme!

    MfG cobra11freak


Anmelden zum Antworten