int in char * konvertieren



  • folgendes:

    ich hab dieses programm hier:

    #include <windows.h>
    #include <wchar.h>
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    	char * pc = "hello!";
    	int test;
    	test = strlen(pc);
    	static_cast<char>(test);
    	MessageBox (NULL, test, "titel", 0);
    	return 0;
    }
    

    und es kommt diese fehlermeldung (vc++):

    error C2664: 'MessageBoxA' : Konvertierung des Parameters 2 von 'int' in 'const char *' nicht moeglich

    wie kann ich trotzdem eine zahl in der MessageBox ausgeben???



  • benutze itoa() oder sprintf()



  • also ich würde das lieber in c++ machen als in c und itoa() check ich nich.

    kannste mir n code beispiel geben?



  • floppy schrieb:

    also ich würde das lieber in c++ machen als in c und itoa() check ich nich.

    kannste mir n code beispiel geben?

    c++ version:

    #include <string>
    #include <sstream> 
    
    int i=10;
    std::ostringstream os;
    os << i; 
    std::string x = os.str();
    


  • Oder alternativ:

    char *szMyChar1 = "Hallo!";
    char szMyChar2[10];
    int test = strlen(szMyChar1);
    sprintf(szMyChar2, "%i", test);
    MessageBox(NULL, szMyChar2, "Titel", MB_ICONINFORMATION);
    

    Jo.


Anmelden zum Antworten