Chapter Contents

Previous

Next
atol

atol



Convert a String to Long

Portability: ISO/ANSI C conforming, UNIX compatible


SYNOPSIS
DESCRIPTION
RETURN VALUE
CAUTION
DIAGNOSTICS
EXAMPLE
RELATED FUNCTIONS
SEE ALSO


SYNOPSIS

#include <stdlib.h>

long int atol(const char *str);


DESCRIPTION

atol converts the character string str to a long 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

atol 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 0L .


CAUTION

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


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 (231-1) or LONG_MIN (-231) is returned, depending on the sign of the value.


EXAMPLE

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

#define MAXLINE 25

main()
{
  long 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 = atol(input);
     printf("The long integer equivalent of given string is %ld\n",
     value);
  }
  else
    printf("Invalid count value: %s\n", input);
}


RELATED FUNCTIONS

strtol


SEE ALSO


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.