Backslash in der Pfadangabe



  • Hallo,
    aus meiner Datenbank wird folgendes ausgelesen:

    CString pfad = "C:\Bilder\MeinBild.bmp";

    um aber in C++ diese Datei tatsächlich auslesen zu können,
    muss man die den einfachen "\" in einen Doppelten umwandeln "\".
    Gib es eine einfache Funktion oder eine andere Möglichkeit dies zu
    realisieren.

    Thanks a lot !





  • das ist mir jetzt schon alles klar, nur brauch ich trotzdem
    den doppelten Backslash, weil ich sonst eine Fehlermeldung bekomme.
    Es steht dann nähmlich in der Anweisung:

    CString path = ("C:\test.bmp");
    HBITMAP hBmp6_6 = (HBITMAP)::LoadImage(NULL,path _6, IMAGE_BITMAP,0 ........

    anstatt richtigerweise

    CString path = ("C:\\test.bmp");



  • Hallo !

    Suchst du das hier ?

    Aus der MSDN:

    CString::Replace
    int Replace( TCHAR chOld, TCHAR chNew );

    int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );

    Example

    //First example, with old and new equal in length.

    CString strZap("C--");
    int n = strZap.Replace('-', '+');
    ASSERT(n == 2);
    ASSERT(strZap == "C++");

    //Second example, old and new are of different lengths.

    CString strBang("Everybody likes ice hockey");
    n = strBang.Replace("hockey", "golf");
    ASSERT(n == 1);
    n = strBang.Replace("likes", "plays");
    ASSERT(n == 1);
    n = strBang.Replace("ice", NULL);
    ASSERT(n == 1);
    ASSERT(strBang == "Everybody plays golf");

    // note that you now have an extra space in your
    // sentence. To remove the extra space, include it
    // in the string to be replaced, i.e.,"ice ".

    Tschüss



  • Wenn in den CString die Zuweisung des Pfads erfolgt musst du einen Doppelten "\" machen. Wenn der Pfad bereits im CString drinsteht dann nicht.
    Warum, hat dEUs schon gepostet.

    [ Dieser Beitrag wurde am 03.06.2003 um 16:54 Uhr von Unix-Tom editiert. ]

    [ Dieser Beitrag wurde am 04.06.2003 um 06:18 Uhr von Unix-Tom editiert. ]


Anmelden zum Antworten