C atol() Function | Convert String to Long Integer

Introduction

The atol() function in C is a standard library function that converts a string to a long integer. It is part of the C standard library (stdlib.h). It is commonly used to convert string representations of long integers into their corresponding long integer values.

atol() Function Syntax

The syntax for the atol() function is as follows:

long int atol(const char *str);

Parameters:

  • str: A C string that contains the representation of a long integer.

Returns:

  • The function returns the converted long integer value. If no valid conversion could be performed, it returns 0.

Examples

Converting a Simple String to Long Integer

To demonstrate how to use atol() to convert a string to a long integer, we will write a simple program.

Example

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

int main() {
    const char *str = "1234567890";
    long int num;

    // Convert string to long integer
    num = atol(str);

    // Print the converted value
    printf("The converted value is: %ld\n", num);

    return 0;
}

Output:

The converted value is: 1234567890

Handling Invalid Input

This example shows how atol() behaves with invalid input.

Example

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

int main() {
    const char *str = "abc123";
    long int num;

    // Convert string to long integer
    num = atol(str);

    // Print the converted value
    printf("The converted value is: %ld\n", num);

    return 0;
}

Output:

The converted value is: 0

Real-World Use Case

Converting User Input to Long Integer

In real-world applications, the atol() function can be used to convert user input, provided as a string, into a long integer for further numerical processing.

Example

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

int main() {
    char input[100];
    long int value;

    // Prompt the user for input
    printf("Enter a long integer: ");
    fgets(input, sizeof(input), stdin);

    // Convert input to long integer
    value = atol(input);

    // Print the converted value
    printf("You entered: %ld\n", value);

    return 0;
}

Output (example user input "9876543210"):

Enter a long integer: 9876543210
You entered: 9876543210

Conclusion

The atol() function is used to convert strings to long integer values in C. By understanding and using this function, you can effectively manage and process numerical data stored as strings in your C programs. Always handle invalid input scenarios to ensure robust applications.

Comments