Probleme bei Umwandlung von int nach char



  • Ich habe vor aus einer ini-Datei eine Ansammlung von Keys nacheinander per MFC in einem Listenfeld auszugeben und dies folgendermaßen mit Hilfe der FAQ gelöst:

    int counter = 0;
    int isok;
    char keyname[500];
    char TheAdd[500];
    while (counter < NumOfFiles)
    {
       counter++;
       keyname = "File" + itoa(counter);
    
       GetPrivateProfileString("FilePath",keyname ,"NICHT   GEFUNDEN",TheAdd ,500,"setup.ini"); 
       isok = m_ctlFileList.AddString(TheAdd);
    }
    

    Nur leider bekomme ich die Fehlermeldung: "itoa akzeptiert keine 1 Parameter",
    was ja soviel heißt, wie es müsssen mehr als ein Parameter gegeben sein, aber welche? In der FAQ wurde es genauso erklärt.(Link:[url] Verbinden von CString und Int [/url])

    Wie verwende ich itoa nun richtig?

    MFG
    FatalError



  • Wie verwende ich itoa nun richtig?

    In Standard-C++ am Besten gar nicht. Wie man das mit Standard-C++ macht, findest du hier oder auf meiner Seiteerklärt.

    Wenn du auf itoa bestehst:
    Der erste Parameter ist die zu wandelnde Zahl.
    Der zweite Parameter ein Zeiger auf das Zielarray (char*)
    Der dritte die Basis (im Bereich 2-36).

    Ein Beispiel findest du in der MSDN.



  • OK, nun hab ich das folgendermaßen:

    int counter = 0;
    int isok;
    char keyname[500];
    char TheAdd[500];
    char keyNR[500];
    while (counter < NumOfFiles)
    {
        counter++;
        sprintf(keyNR, "%d", counter);
        filename = "File" + keyNR;
    
        GetPrivateProfileString("FilePath",filename ,"NICHT GEFUNDEN",TheAdd ,500,"setup.ini"); 
        isok = m_ctlFileList.AddString(TheAdd);
    }
    

    Aber jetzt hab ich das Problem, das ich nicht so recht weiß, wie ich die beiden Strings nun zu einem String koppeln kann.


Anmelden zum Antworten