home *** CD-ROM | disk | FTP | other *** search
- /*
- File: int.c
-
- Author: Bruce Kritt
-
- Description:
- */
-
- #include "char.h"
- #include "string.h"
- #include "convert.h"
- #include "int.h"
-
- void str_to_int(char* string,int& number)
- {
- // variables
-
- int sign;
-
- // logic
-
- // Prepare for the conversion.
-
- str_trim(string);
-
- str_rc(string);
-
- number = 0;
-
- // Get the sign.
-
- sign = is_sign(*string) ? *string : '+';
-
- if (is_sign(*string)) ++string;
-
- // Convert the digits.
-
- while (is_digit(*string))
-
- inject_digit(*string++,number);
-
- // Convert the sign.
-
- inject_sign(sign,number);
-
- return;
-
- } // end function str_to_int()
-
- void int_to_str(int number,char* string)
- {
- // variables
-
- int sign;
- long mask;
- int digit;
-
- // logic
-
- // Convert the sign.
-
- extract_sign(sign,number);
-
- if (sign == '-') *string++ = sign;
-
- // Initialize the mask.
-
- init_mask(mask,number);
-
- // Convert the digits.
-
- while (mask > 0)
- {
- extract_digit(digit,number,mask);
-
- *string++ = digit;
- }
-
- // Terminate the string.
-
- *string = 0;
-
- return;
-
- } // end function int_to_str()
-
- void str_to_long(char* string,long& number)
- {
- // variables
-
- int sign;
-
- // logic
-
- // Prepare for the conversion.
-
- str_trim(string);
-
- str_rc(string);
-
- number = 0;
-
- // Get the sign.
-
- sign = is_sign(*string) ? *string : '+';
-
- if (is_sign(*string)) ++string;
-
- // Convert the digits.
-
- while (is_digit(*string))
-
- inject_digit(*string++,number);
-
- // Convert the sign.
-
- inject_sign(sign,number);
-
- return;
-
- } // end function str_to_long()
-
- void long_to_str(long number,char* string)
- {
- // variables
-
- int sign;
- long mask;
- int digit;
-
- // logic
-
- // Convert the sign.
-
- extract_sign(sign,number);
-
- if (sign == '-') *string++ = sign;
-
- // Initialize the mask.
-
- init_mask(mask,number);
-
- // Convert the digits.
-
- while (mask > 0)
- {
- extract_digit(digit,number,mask);
-
- *string++ = digit;
- }
-
- // Terminate the string.
-
- *string = 0;
-
- return;
-
- } // end function long_to_str()
-