A function to return a string representation of an integer : Int Convert « Data Type « C / ANSI-C

Home
C / ANSI-C
1.assert.h
2.Console
3.ctype.h
4.Data Structure Algorithm
5.Data Type
6.Development
7.File
8.Function
9.Language Basics
10.Macro Preprocessor
11.Math
12.math.h
13.Memory
14.Pointer
15.setjmp.h
16.signal.h
17.Small Application
18.stdio.h
19.stdlib.h
20.String
21.string.h
22.Structure
23.time.h
24.wctype.h
C / ANSI-C » Data Type » Int ConvertScreenshots 
A function to return a string representation of an integer
A function to return a string representation of an integer

/*
Beginning C, Third Edition
 By Ivor Horton
 ISBN: 1-59059-253-0
 Published: Apr 2004
 Publisher: apress

*/

#include <stdio.h>

/* Convert an integer to a string        */
/* Caller must allocate string array     */
/* Function returns the string to allow  */
/* Use of the function in an expression. */
char* itoa(int n, char str[])
{
  int i = 0;               /* Loop counter              */
  int negative = 0;        /* Indicate negative integer */
  int length = 0;          /* Length of string          */
  int temp = 0;            /* Temporary storage         */
 
  if(negative = (n<0))     /* Is it negative?  */
    n = -n;                /* make it positive */

  /* Generate digit characters in reverse order */
  do
  {
    str[i++'0'+n%10;    /* Create a rightmost digit        */
    n /= 10;                /* Remove the digit                */              
  }while(n>0);              /* Go again if there's more digits */

  if(negative)              /* If it was negative */
    str[i++'-';         /* Append minus       */
  str[i'\0';            /* Append terminator  */
  length = i;               /* Save the length    */

  /* Now reverse the string in place */
  /* by switching first and last,    */
  /* second and last but one, etc    */
  for(i = ; i<length/;i++)
  {
    temp = str[i];
    str[i= str[length-i-1];
    str[length-i-1= temp;
  }
  return str;                /* Return the string */
}


void main()
{
   char str[15];              /* Stores string representation of integer */
   long testdata[] 30L, -98L0L, -1L999L, -12345L};  
   int i = 0;                /* Loop control variable                    */

   for (i = ; i< sizeof testdata/sizeof(long; i++)
     printf("Integer value is %d, string is %s\n", testdata[i], itoa(testdata[i],str));
}

 

           
       
Related examples in the same category
1.A function to return a string representation of an integer with a given widthA function to return a string representation of an integer with a given width
2.Convert an integer to words
3.Convert integer to string: how to use itoa
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.