C++ Program to Find Length of String

In this article, you will learn and get to find and print the length of any given string by user at run-time, in C++ language. The program is created with the help of these approaches:

  • Find length of string without using any library or built-in function like strlen()
  • using strlen() function
  • using Pointer

Find Length of String without strlen() Function

To find length of a string in C++ programming, you have to ask from user to enter the string first. And then find its length as shown in the program given below.

This program finds length of a string using user-based code. That is, this program does not use library function or built-in function, strlen().

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    char str[200];
    int len=0, i=0;
    cout<<"Enter the String: ";
    gets(str);
    while(str[i])
    {
        len++;
        i++;
    }
    cout<<"\nLength = "<<len;
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is its sample run:

C++ program find length of string

Now enter any string say codes cracker dot com and press ENTER key to find and print length of given string as shown here in the following output:

find length of string without strlen c++

Here is another sample run with user input, codescracker:

find length of string c++

The dry run of above program with user input, codescracker goes like:

  • Initial values, len=0, i=0
  • When user enters the string say codescracker as input, then it gets stored to str[] in this way:
    • str[0]=c
    • str[1]=o
    • str[2]=d
    • and so on upto
    • str[11]=r
  • Now the condition of while loop gets evaluated. That is the condition, str[i] or str[0] or c evaluates to be true. Therefore program flow goes inside the loop
  • When there is no any character left, then the condition evaluates to be false. That is, its condition evaluates to be false at 12th index
  • Now inside the loop, the value of len and i gets incremented. So i=1 and len=1
  • Program flow goes back and evaluates the condition again. Because the condition str[i] or str[1] again evaluates to be true, therefore program flow again goes inside the loop.
  • This process continues until the last character of codescracker.
  • And every time the value of len gets incremented
  • So when the condition of while loop evaluates to be false, then we'll have a variable, len that holds the length of string, or how many characters are available in the entered string by user at run-time
  • So print the value of len as output that shows the length of given string

Find Length of String using strlen() Function

Here is another C++ program that also finds and prints length of string entered by user. The only difference with previous program is, this program uses a built-in or library function of C++ named strlen().

The function, strlen() takes string as its argument and returns its length. This function is defined in string.h header file.

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    char str[200];
    int len=0;
    cout<<"Enter the String: ";
    gets(str);
    len = strlen(str);
    cout<<"\nLength = "<<len;
    cout<<endl;
    return 0;
}

The output produced by this program is similar to previous program.

Find Length of String using Pointer

Now let's create the same purpose program, that is to find length of a string, but using pointer. The address of first character of string gets initialized to pointer type variable say ptr and using this variable, the length of string gets calculated.

Note - The & is called as address of operator. Whereas as the * is called as value at operator. The ptr++ (char pointer type variable) moves to next character's address

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    char str[200], *ptr;
    int len=0;
    cout<<"Enter the String: ";
    gets(str);
    ptr = &str[0];
    while(*ptr)
    {
        len++;
        ptr++;
    }
    cout<<"\nLength = "<<len;
    cout<<endl;
    return 0;
}

Same Program in Other Languages

C++ Online Test


« Previous Program Next Program »



Like/Share Us on Facebook 😋