C string.h strlen() - Get String Length

Updated on September 27, 2024
strlen() header image

Introduction

The strlen() function in C, provided by the string.h library, plays a crucial role in string handling by returning the length of a string. This length is calculated as the number of characters preceding the null terminator (\0), which is used in C to mark the end of a string. Using strlen() is fundamental in operations where manipulating or validating strings based on their length is required.

In this article, you will learn how to use the strlen() function to determine the length of strings in various scenarios. Explore its practical applications in real-world programming tasks involving string manipulation and validation.

Using strlen() in Basic String Operations

Determine the Length of a Static String

  1. Include the string.h header to use strlen().

  2. Define a string initialized with a literal value.

  3. Call strlen() to find the length of the string.

    c
    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char myString[] = "Hello, world!";
        size_t length = strlen(myString);
        printf("Length of the string is: %zu\n", length);
        return 0;
    }
    

    This code defines a string myString and uses strlen() to calculate its length, excluding the null terminator. The length is then printed using printf().

Calculate Length Dynamically Entered Strings

  1. Prepare to read a string input from the user.

  2. Use strlen() to measure the input string immediately after capturing it.

    c
    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char input[100];
        printf("Enter a string: ");
        fgets(input, sizeof(input), stdin);
        size_t length = strlen(input);
        printf("Length of the input string is: %zu\n", length - 1); // Subtract 1 to remove the newline character
        return 0;
    }
    

    In this example, fgets() is used to read a string from the standard input, which includes the newline character. strlen() calculates the length of the string, and -1 is used to adjust for the newline character.

Advanced Usage of strlen()

Using strlen() to Validate String Content

  1. Design logic that checks if a string meets certain length requirements.

  2. Implement this by combining strlen() with conditional statements.

    c
    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char password[100];
        printf("Create a password: ");
        fgets(password, sizeof(password), stdin);
        size_t length = strlen(password) - 1;
    
        if (length >= 8) {
            printf("Password strength: Strong\n");
        } else {
            printf("Password strength: Weak\n");
        }
        return 0;
    }
    

    Here, the length of a password is checked using strlen(), and the output message varies depending on whether the password has at least 8 characters.

Manipulating Strings Based on Length

  1. Apply strlen() to slice or modify strings according to their length.

  2. Use the information obtained from strlen() to conditionally perform operations on the string.

    c
    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char tweet[280];
        printf("Enter your tweet: ");
        fgets(tweet, sizeof(tweet), stdin);
        size_t length = strlen(tweet) - 1; // Adjusting for newline character
    
        if (length > 140) {
            printf("This tweet is too long by %zu characters.\n", length - 140);
        } else {
            printf("Tweet successfully posted!\n");
        }
        return 0;
    }
    

    This snippet determines if a tweet exceeds the classic 140-character limit and informs the user about the excess.

Conclusion

The strlen() function from string.h in C is invaluable for handling strings by providing a way to determine their length efficiently. Utilize strlen() to conditionally manipulate strings, validate data, and perform numerous other string-related operations that rely on knowing the exact length of the string. With the examples discussed, harness the full potential of strlen() to enhance string processing tasks in your C programs.