C Program: Length of a String
There already exists a built-in function called
strlen() to compute the length of a
string, and is available under the
<string.h> header library. The given
string needs to be passed as an argument to
strlen(); it then returns its length.
The program below illustrates the use of
strlen() to find the length of a given
string. We use scanf("%[^\n]") to read the
input string instead of the usual
scanf("%s"). The difference is, while
scanf("%s") stops reading characters on
encounter of first blank space, the conversion specifier
scanf("%[^\n]") reads them like any normal
character.
NOTE: As the gets() function is
already deprecated, we will not be using it anymore to read string
inputs.
Also, the strlen() function returns an
integer of type unsigned long, hence the
use of the format specifier %lu in the
last printf() statement.
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("Enter a string: ");
scanf("%[^\n]", str);
printf("The length of the entered string is %lu \n", strlen(str));
return 0;
}
Length of String Without strlen()
We can also find the length of a given string without the use of the
strlen() function. The
while loop loops through each character
of the string till the \0 or null
character is reached, indicating the end of the string.
#include <stdio.h>
int main() {
char str[100];
unsigned short count = 0;
printf("Enter a string: ");
scanf("%[^\n]", str);
while (str[count] != '\0')
count++;
printf("The length of the entered string is %u: ", count);
return 0;
}