Length of the string without using strlen() function in C++
Understanding String Length Calculation
The length of a string is the number of characters it contains excluding the null terminator '\0'. In C++, we can determine this without using the built-in strlen()
function.
We will explore three different methods to find the length of a string in C++.
Method 1: Using a Loop
This method uses a loop to count the characters in the string.
#include <iostream> using namespace std; int main() { string str; int length = 0; cout << "Enter a string: "; getline(cin, str); while (str[length] != '\0') { length++; } cout << "Length of the string is " << length; return 0; }
Output: Length of the string is 5
Method 2: Using Recursion
This method calculates the length of the string recursively.
#include <iostream> using namespace std; int string_length(const char *str) { if (*str == '\0') return 0; return 1 + string_length(str + 1); } int main() { string str; cout << "Enter a string: "; getline(cin, str); cout << "Length of the string is " << string_length(str.c_str()); return 0; }
Output: Length of the string is 5
Method 3: Using Pointers
This method uses pointer arithmetic to determine the string length.
#include <iostream> using namespace std; int find_length(const char *str) { const char *ptr = str; while (*ptr != '\0') { ptr++; } return ptr - str; } int main() { string str; cout << "Enter a string: "; getline(cin, str); cout << "Length of the string is " << find_length(str.c_str()); return 0; }
Output: Length of the string is 11