5 Different Methods to Find Length of a String in C++
Last Updated :
19 Jun, 2023
The string is a sequence of characters or an array of characters. The declaration and definition of the string using an array of chars are similar to the declaration and definition of an array of any other data type.
Examples:
Input: "Geeksforgeeks"
Output: 13
Input: "Geeksforgeeks \0 345"
Output: 14
Important Points
- The constructor of the String class will set it to the C++ style string, which ends at the '\0'.
- The size() function is consistent with other STL containers (like vector, map, etc.), and length() is consistent with most people's intuitive notion of character strings like a word, sentence, or paragraph. We say a paragraph's length, not its size, so length() is to make things more readable.
Methods to Find the Length of a String
There are few methods to find the length of a string is mentioned below:
- Using string::size
- Using string::length:
- Using the C library function strlen() method:
- Using while loop:
- Using for loop:
1. Using string::size
The method string::size returns the length of the string, in terms of bytes.
Below is the implementation of the above method:
C++
// C++ program to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
// Driver code
int main()
{
// String obj
string str = "GeeksforGeeks";
// size of string object using size() method
cout << str.size() << endl;
return 0;
}
2. Using string::length
The method string::length returns the length of the string, in terms of bytes. Both string::size and string::length are synonyms and return the exact same value.
Below is the implementation of the above method:
C++
// C++ program to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
// Driver code
int main()
{
// String obj
string str = "GeeksforGeeks";
// size of string object using length method
cout << str.length() << endl;
return 0;
}
3. Using strlen() Method
The C library function size_t strlen(const char *str) computes the length of the string str up to, but not including the terminating null character.
Below is the implementation of the above method:
C++
// C++ program to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
// Driver code
int main()
{
// String obj
string str = "GeeksforGeeks";
// size using old style
// size of string object using strlen function
cout << strlen(str.c_str()) << endl;
return 0;
}
4. Using a while loop
Using the traditional method, initialize the counter equals 0 and increment the counter from starting of the string to the end of the string (terminating null character).
Below is the implementation of the above method:
C++
// C++ program to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
// Driver code
int main()
{
// String obj
string str = "GeeksforGeeks";
// The constructor of string will set it to the
// C-style string,
// which ends at the '\0'
// size of string object Using while loop
// while 'NOT NULL'
int i = 0;
while (str[i])
i++;
cout << i << endl;
return 0;
}
5. Using Loop
To initialize the counter equals 0 and increment the counter from starting of the string to the end of the string (terminating null character).
Below is the implementation of the above method:
C++
// C++ program to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
// Driver code
int main()
{
int i;
// String obj
string str = "GeeksforGeeks";
// The constructor of string will set it to the
// C-style string,
// which ends at the '\0'
// size of string object using for loop
// for(; NOT NULL
for (i = 0; str[i]; i++);
cout << i << endl;
return 0;
}
The complexity of the method above:
Time complexity: For all the methods, the time complexity is O(n) as we need to traverse the entire string to find its length.
Space complexity: For all the methods, the space complexity is O(1) as no extra space is required.
Similar Reads
Different ways to access characters in a given String in C++ String class stores the characters as a sequence of bytes with the functionality of allowing access to the single-byte character. There are several ways to access substrings and individual characters of a string. The string class supports the following functions for this purpose: operator[]at()subst
4 min read
Extract all integers from string in C++ Given a string, extract all integers words from it. Examples : Input : str = "geeksforgeeks 12 13 practice" Output : 12 13 Input : str = "1: Prakhar Agrawal, 2: Manish Kumar Rai, 3: Rishabh Gupta" Output : 1 2 3 Input : str = "Ankit sleeps at 4 am." Output : 4 The idea is to use stringstream:, objec
2 min read
How to Convert Vector of int into String? In C++, there are numerous cases where a vector of integers is needs to be converted into a string. In this article, we will learn the different methods to convert the vector of int into string in C++.The simplest method to convert the vector of int into string is by creating a stringstream and addi
3 min read
std::string::length, std::string::capacity, std::string::size in C++ STL Prerequisite: String in C++ String class is one of the features provided by the Standard template library to us, So it comes up with great functionality associated with it. With these Functionalities, we can perform many tasks easily. Let's see a few of the functionalities string class provides. Hea
6 min read
Iterate over characters of a string in C++ Given a string str of length N, the task is to traverse the string and print all the characters of the given string. Examples: Input: str = "GeeksforGeeks" Output: G e e k s f o r G e e k s Input: str = "Coder" Output: C o d e r Naive Approach: The simplest approach to solve this problem is to itera
3 min read