Integer Array in eine Variable fassen

Hi, ich wollte gerne wissen wie ich ein gefülltes Array in eine Variable packen kann.
Ich habe da an sowas wie String.append gedacht, sprich an eine Variable den Inhalt eines Arrays durch eine Schleife packen aber mit einem Integer weiss ich nicht wie das klappen soll.
Ich möchte mit einer GUI Anwendung einen eingegebenen Text in die dazugehörige ASCII Nummer umwandeln (char für char).

Code Snippet:
Code:
case IDC_BTN1: 
                int number[260]; 
                char name[260] 
                GetDlgItemText( hwndDlg , IDC_EDT1 , name , MAX_PATH ); 

                for ( int i = 0; i < 50; i++ ) 
                { 
                    number[i] = name[i]; 
                }; 

                    ... 

                SetDlgItemInt ( hwndDlg , IDC_EDT2 , Alle Nummern , true );


Mit SetDlgItemInt kann ich ja immer nur ein Element ausgeben oder wenn ich es durch eine Schleife laufen lasse wird immer das letzte gelöscht :/
 
Du könntest jede Zahl in deinem Array in einen Sting umwandeln und an einen String anhängen. In einem vielleicht nicht ganz schönen C/C++-Mix geht das am Einfachsten so:

Code:
case IDC_BTN1: 
    char name[260];
    char buffer[13];
    string numbers;
    GetDlgItemText( hwndDlg , IDC_EDT1 , name , MAX_PATH );

    for (int i = 0; i < 50; i++) {
        sprintf(buffer, "%03d ", name[i]);
        numbers.append(buffer); 
    }

    SetDlgItemInt ( hwndDlg , IDC_EDT2 , numbers.c_str() , true );

Der Code ist zwar ungetestet, müsste aber so ungefähr funktionieren.
 
Andere Möglichkeit ohne string/C++:
Code:
char name[260];
char numbers[3*260]; /* damit der Buffer auch bei voller Länge des Strings nicht überläuft */
numbers[0] = 0;
int i;
...
for(i=0;i<strlen(name);i++) {
    sprintf(numbers,"%s%03d",numbers,name[i]);
}
SetDlgItemText( hwndDlg, IDC_EDT2, numbers, 1); /* Text, nicht Int */
 
Zurück
Oben