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