Ergebnis 1 bis 8 von 8
  1. #1
    CIH-Virus Avatar von krusty
    Registriert seit
    12.10.2008
    Beiträge
    445

    Standard Problem: c++ convert string to LPCSTR

    Ich habe angefangen mich für cpp zu ineressieren und bin nun auf ein kleines Problem gestoßen, was ich nicht so ganz verstehe,
    ich verwende momentan vsc++ 2008 und arbeite mit win32 konsolenapps.
    Ich habe mir die Funktion URLDownloadToFile mal angeschaut... sobald ich im 2. und 3. Parameter einen String übergebe, mecker mein VS rum und meint man könne einen const wchar_t [xy] nicht in einen LPCSTR kovertieren->
    Code:
    URLDownloadToFile(0,"http://www.url.de/bla.png","C:\\add.png",0,0);
    Ich habe mich ein wenig schlau gemacht, das Makro _T() oder TEXT() scheint dieses Problem lösen zu können->
    Code:
    URLDownloadToFile(0,TEXT("http://www.url.de/bla.png"),TEXT("C:\\add.png"),0,0);
    Funktioniert eig auch wunederbar. Sobald ich jedoch versuche dem _T oder TEXT Makro eine Stringvariable zu übergeben, meckert VS schon wieder rum->
    Code:
    string url;
    string path;
    URLDownloadToFile(0,TEXT(url),TEXT(path),0,0);
    Komicherweise mit folgender Fehlermeldung...
    error C2065: 'Lurl': nichtdeklarierter Bezeichner
    Ich habe nie eine Lurl Variable deklariert -.-*

    Ich bitte um Aufklärung... da ich vorher in vb gecodet habe, bin ich mit dem Convertieren von Typen nicht so befreundet =$$.
    Mfg Krusty.

  2. #2
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Da du wohl kein Unicode Zeichensatz brauchst, ist es besser wenn du Unicode in den Projekt Optionen deaktivierst, damit hast du dann keine Probleme mehr.

    Projekt -> eigenschaften -> konfigurationseigen... -> allgemein -> zeichensatz
    multibyte zeichensatz verwenden

    Als C++ Anfänger solltest du erstmal ohne die String Klasse arbeiten, dadurch wird die benutzung der win api auch viel einfacher: C++-Programmierung: Strings – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

    C-Strings / char solltest du dir anschauen

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    krusty (08.05.2010)

  4. #3
    CIH-Virus Avatar von krusty
    Registriert seit
    12.10.2008
    Beiträge
    445

    Standard

    danke für die schnelle antwort, ich schau mir das wiki genauer an.
    Eine weitere Fehlermeldung ist nun aufgetreten, nachdem ich den Zeichensatz verändert habe.
    td::string' in 'LPCSTR' nicht möglich
    Die Meldung sagt ja im Großen und Ganzen das selbe auf, wie die vorherige.
    Auch
    Code:
        string path = "uhhhh";
        LPCSTR p = (LPCSTR)(path);
    schlägt fehl...

  5. #4

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    wie siehts aus mit <string>.c_str() ?

  6. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    krusty (08.05.2010)

  7. #5
    CIH-Virus Avatar von krusty
    Registriert seit
    12.10.2008
    Beiträge
    445

    Standard

    funktioniert, danke =), ich werde mit die methode nochmal anschauen müsen, danke für eure hilfe =D

  8. #6
    Bad Times Virus
    Registriert seit
    14.03.2009
    Beiträge
    579

    Standard

    std::string ist eine klasse. überrachender weiße kann man das nicht in einen charpointer umwandeln.
    Code:
    LPCSTR p=path.c_str()
    sollte funktioniern.

    Das T() oder Text() makro fügt ein L ein. Dadurch wird die Varibale ABC zu LABC. Die der compiler nicht kennt. Jetzt ist natürlich die Frage warum es dieses Makro gibt. Ein L vor eimen String (in dem Fall vor dem ") sagt dass es ein UNICODE (w)char array ist, im gegensatz zum normalen ASCII char array.

    Edit:Warum müßt ihr auch so schnell schreiben?

  9. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    krusty (08.05.2010)

  10. #7
    CIH-Virus Avatar von krusty
    Registriert seit
    12.10.2008
    Beiträge
    445

    Standard

    sehr informatiev, danke.

  11. #8
    CIH-Virus Avatar von Perishand
    Registriert seit
    11.08.2007
    Beiträge
    437

    Standard

    CT2CA pszCharacterString (csMyString);

Stichworte

Berechtigungen

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