Help with code..string manipulation

Please, someone can help me to fix this code? I want only to concatenate 5 strings to one and then putting out to serial....but it works only one time, then crash. Here is the code:

int pot1 = 0;
int pot2 = 1;
int pot3 = 2;
int pot4 = 3;
int pot5 = 4;
int i=0;
int pot1A,pot2A,pot3A,pot4A,pot5A;
int fact=1000;
char potstr1[5],potstr2[5],potstr3[5],potstr4[5],potstr5[5],pottot[21];
char recbuf;

void setup() {
Serial.begin(9600); // intitialize the serial port
}

void loop() {
recbuf=Serial.read();

switch (recbuf){
case 'a':
pot1A=(analogRead(pot1)+fact);
pot2A=(analogRead(pot2)+fact);
pot3A=(analogRead(pot3)+fact);
pot4A=(analogRead(pot4)+fact);
pot5A=(analogRead(pot5)+fact);
itoa(pot1A,potstr1,10);
itoa(pot2A,potstr2,10);
itoa(pot3A,potstr3,10);
itoa(pot4A,potstr4,10);
itoa(pot5A,potstr5,10);
strcat(pottot,potstr1);
strcat(pottot,potstr2);
strcat(pottot,potstr3);
strcat(pottot,potstr4);
strcat(pottot,potstr5);
Serial.println(pottot);
break;
case 'zz':
Serial.println("y");
break;
}
}

Thanks in advance!

Why all the mucking around with string conversions and concatenations? Just dump 'em out with Serial.print() and be done with it.

Having said that, pottot is apparently never initialized/terminated, so strcat() is going to write over random chunks of RAM looking for the end of pottot. Somewhere (just before the first strcat() looks like a good place) you need pottot[0] = '\0'; so that you start with a properly terminated empty string.

-j

Thanks kg4wsv, you solved my prob! Now all works perfectly!!
Again, thanks! ;D ;D ;D ;D ;D ;D