P Pommie Well-Known Member Most Helpful Member Apr 1, 2008 #21 Here's a version without pointers, Code: void Mikes_itoa2(int Num,char* String){ char Start,End,Swap; Start=0; if(Num<0){ //handle negative numbers Num=-Num; String[Start++]='-'; } End=Start; //start of actual number do{ //generate number backwards String[End++]=(Num%10)+0x30; Num/=10; }while(Num>0); String[End--]=0; //string terminator while(End>Start){ //swap string around Swap=String[End]; String[End--]=String[Start]; String[Start++]=Swap; } } Mike.
Here's a version without pointers, Code: void Mikes_itoa2(int Num,char* String){ char Start,End,Swap; Start=0; if(Num<0){ //handle negative numbers Num=-Num; String[Start++]='-'; } End=Start; //start of actual number do{ //generate number backwards String[End++]=(Num%10)+0x30; Num/=10; }while(Num>0); String[End--]=0; //string terminator while(End>Start){ //swap string around Swap=String[End]; String[End--]=String[Start]; String[Start++]=Swap; } } Mike.
Mike - K8LH Well-Known Member Apr 1, 2008 #22 Thank you. Very clever routine Sir. I'll grasp C pointers one of these days (grin)...
Torben Well-Known Member Apr 2, 2008 #23 Pommie said: I couldn't resist, I had to write one, . . .snipped for brevity. . . Note the dastardly xor swap at the end. Mike. Click to expand... Now that is a routine I like. Nice work. Torben
Pommie said: I couldn't resist, I had to write one, . . .snipped for brevity. . . Note the dastardly xor swap at the end. Mike. Click to expand... Now that is a routine I like. Nice work. Torben