atoi -- Convert a String to Integer

SYNOPSIS

 #include <stdlib.h>

 int atoi(const char *str);
 

DESCRIPTION

atoi converts the character string str to an integer. The string should consist of an optional plus or minus sign, followed by one or more decimal digits. Initial white-space characters are ignored.

RETURN VALUE

atoi returns the integer value represented by the character string up to the first unrecognized character. If no initial segment of the string is a valid integer, the return value is 0.

CAUTION

No indication of overflow or other error is returned, so you should validate the string before calling atoi.

DIAGNOSTICS

No indication is returned to the program to specify whether the string contains a valid integer.

If the correct value is too large to be stored in a 370 long, either LONG_MAX (2**31 - 1) or LONG_MIN (-2**31) is returned, depending on the sign of the value.

IMPLEMENTATION

atoi(x) is implemented as (int)atol(x).

EXAMPLE

  #include <stdlib.h>
  #include <stdio.h>
  #include <string.h>

  #define MAXLINE 25

  main()
  {
     int value;
     char *input;
     char line[MAXLINE];

     puts("Enter a number: ");
     input = gets(line);

        /* If string contains only digits, white space, or +/-,  */
        /*  convert. Note that the input may still not represent */
        /*  a valid integer.  Consider +-14+5.                   **/
     if (strspn(input, " +-0123456789") == strlen(input)){
        value = atoi(input);
        printf(" The integer equivalent of given string is %dn",
              value);
     }
     else
        printf("Invalid count value: %sn", input);
  }

 

RELATED FUNCTIONS

strtol

SEE ALSO

String Utility Functions

Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.