wsprintf() Problem



  • was ist an diesem Programm falsch?

    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
        LPSTR str;
        int difTage = 25;
        char rmdText[] = "Das ist die Zahl %i.";
        wsprintf(str, rmdText, difTage);
        MessageBox(NULL, rmdText, "Info", MB_OK);
        return 0;
    }
    

    (ich bekomme einen "schweren ausnahmefehler");

    thx, lw



  • Du könnest LPSTR str auch LPSTR PointerToNirvana nennen.



  • str ist vom Typ LPSTR und damit ein Pointer. Dieser zeigt erstmal ins Nichts. Du musst ihm also erst etwas Speicher besorgen auf den er zeigen soll, zB mit new oder malloc.

    Außerdem willst du in der MessageBox vermutlich str ausgeben lassen und nicht rmdText, sonst lohnt sich der ganze Streß nicht 😉

    edit: hm war mal wieder einer schneller *g*

    [ Dieser Beitrag wurde am 08.11.2002 um 16:11 Uhr von kwoTx editiert. ]



  • thx
    wenn man aber rmdText durch str ersetzt, geht es trotzdem. *nänänänänäänää* :p 😃

    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
        LPSTR str;
        int difTage = 25;
        char rmdText[] = "Das ist die Zahl %i.";
        wsprintf(str, rmdText, difTage);
        MessageBox(NULL, str, "Info", MB_OK);
        return 0;
    }
    
    => Das ist die Zahl 25.
    

Anmelden zum Antworten