tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von MCoder
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
358
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Guten Morgen liebes Forum,
    ich habe mal wieder ein kleines Problemchen mit C++.

    Ich möchte aus C++ raus, eine URL generieren und die URL im Browser aufrufen. Bisher sieht mein Code so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    int openBrowser(string hash)
    { 
        string hash2 = "32171627316728367812";
            int test = 12;
     
            CString url;
        url.Format(_T("http://www.test.de/%d"), hash);
     
        ShellExecute( NULL, _T("open"), url, NULL, NULL, SW_SHOWNORMAL );
     
        return 1;
    }

    Ich kann die URL nur öffnen, wenn ich vorher ein _T("") setze. Nun möchte ich ganz einfach einen 30 Ziffern langen hashCode an die URL anfügen. Wenn ich mit %d arbeite, dann wird der String nicht richtig Formatiert es kommt irgendwas kryptisches bei raus. Sobald der hash nur zwei Ziffern lang ist, dann funktioniert es.

    Weis jemand wie die richtige Stringformatierung aussieht? Vielleicht geht das ganze auch ohne Stringformat? Nur es muss nur immer ein _T("") stehen.

    Vielen Dank
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    du darfst nicht "string" sondern musst "wstring" und für den Format-String auch einen String-Parameter (%s) verwenden. Da die CString-Klase nicht mit string bzw. wstring umgehen kann, musst du den Parameter als einfachen C-String übergeben.
    Code cpp:
    1
    2
    3
    4
    5
    
    wstring hash2 = L"32171627316728367812";
     
    //...
     
    url.Format(_T("http://www.test.de/%s"), hash2.c_str());
    Gruß
    MCoder
    Shooter2k bedankt sich. 
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Danke hat funktioniert. Kennst du vielleicht auch ein Tutorial um die externe IP Adresse auszulesen? Ich brauche die IP für mein C++ Tool.

    Vielen Dank
    gruß
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

Ähnliche Themen

  1. String.format + null
    Von dadom110 im Forum Java
    Antworten: 6
    Letzter Beitrag: 19.05.10, 18:24
  2. Einfache String in XML-Format speichern?
    Von Dragonball im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 22.05.09, 13:05
  3. String in Datums-Format konvertieren
    Von Lautsprecher im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 02.02.09, 23:45
  4. [VC++ 2005] String->Format?
    Von the incredible Leitman im Forum VisualStudio & MFC
    Antworten: 8
    Letzter Beitrag: 20.09.06, 11:31
  5. Problem: String.Format
    Von Julian Maicher im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 20.04.05, 17:41

Stichworte