Salve a tutti.
Ho un piccolo problema con un codice in c++
L'obiettivo è quello di riempire con degli zeri una stringa nel caso in cui la sua lunghezza sia minore di 3.
Es. Se ricevo 4, il programmino deve restituire una stringa del tipo "004"; con 23 --> "023".
Detto questo, ecco il codice:


codice:
int lung4=strlen(temp->cod_4);
     if (lung4<3){
        int diff=3-lung4;
        char car[2];
        for (i=0;i<diff; i++){
            car[i]='0';
        }
     strcat(car,temp->cod_1);
     cout<<"\nSTRINGA:   "<<car<<"\n";
     strcpy(temp->cod_1,car);
     cout<<"\nSTRINGA:   "<<temp->cod_1<<"\n";
     }
Il funzionamento mi sembra abbastanza chiaro e semplice. Tuttavia non funziona, restituisce una cosa completamente diversa, magari mettendo anche caratteri >90 tra gli zeri e il numero in questione.
Avete qualche idea? O qualche altro metodo più semplice per risolvere?
Grazie
Ciao ciao
Roberto