37 lines
		
	
	
		
			496 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			496 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #include <lib.h>
 | |
| /* Integer to ASCII for signed decimal integers. */
 | |
| 
 | |
| PRIVATE int next;
 | |
| PRIVATE char qbuf[8];
 | |
| 
 | |
| _PROTOTYPE( char *itoa, (int n));
 | |
| 
 | |
| char *itoa(n)
 | |
| int n;
 | |
| {
 | |
|   register int r, k;
 | |
|   int flag = 0;
 | |
| 
 | |
|   next = 0;
 | |
|   if (n < 0) {
 | |
| 	qbuf[next++] = '-';
 | |
| 	n = -n;
 | |
|   }
 | |
|   if (n == 0) {
 | |
| 	qbuf[next++] = '0';
 | |
|   } else {
 | |
| 	k = 10000;
 | |
| 	while (k > 0) {
 | |
| 		r = n / k;
 | |
| 		if (flag || r > 0) {
 | |
| 			qbuf[next++] = '0' + r;
 | |
| 			flag = 1;
 | |
| 		}
 | |
| 		n -= r * k;
 | |
| 		k = k / 10;
 | |
| 	}
 | |
|   }
 | |
|   qbuf[next] = 0;
 | |
|   return(qbuf);
 | |
| }
 | 
