HOME C C++ PYTHON JAVA HTML CSS JAVASCRIPT BOOTSTRAP JQUERY REACT PHP SQL AJAX JSON DATA SCIENCE AI

C String Functions



C String Functions

C string functions are a collection of built-in functions available in the header file, specifically designed to manipulate and manage character arrays or strings in C. These functions offer efficient and standardized ways to perform various tasks on strings, making your code cleaner and more maintainable.

To use them, you must include the header file in your program:

#include <string.h>


String Length

For example, to get the length of a string, you can use the strlen() function:

Example

#include <stdio.h>

#include <string.h>

int main() {

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

printf("%d", strlen(alphabet));

return 0;

}


Output

26


In the Strings chapter, we used sizeof to get the size of a string/array. Note that sizeof and strlen behaves differently, as sizeof also includes the \0 character when counting:

Example

#include <stdio.h>

#include <string.h>

int main() {

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

printf("Length is: %d\n", strlen(alphabet));

printf("Size is: %d\n", sizeof(alphabet));

return 0;

}


Output

Length is: 26

Size is: 27

It is also important that you know that sizeof will always return the memory size (in bytes), and not the actual string length:

Example

#include <stdio.h>

#include <string.h>

int main() {

char alphabet[50] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

printf("Length is: %d\n", strlen(alphabet));

printf("Size is: %d\n", sizeof(alphabet));

return 0;

}


Output

Length is: 26

Size is: 50


Concatenate Strings

Example

#include <stdio.h>

#include <string.h>

int main() {

char str1[20] = "Hello ";

char str2[] = "CodeLines!";

// Concatenate str2 to str1 (the result is stored in str1)

strcat(str1, str2);

// Print str1

printf("%s", str1);

return 0;

}


Output

Length is: 26

Size is: 50


Note that the size of str2 should be large enough to store the copied string (20 in our example).


Compare Strings

To compare two strings, you can use the strcmp() function.

It returns 0 if the two strings are equal, otherwise a value that is not 0:

Example

#include <stdio.h>

#include <string.h>

int main() {

char str1[] = "Hello";

char str2[] = "Hello";

char str3[] = "Hi";


// Compare str1 and str2, and print the result

printf("%d\n", strcmp(str1, str2));


// Compare str1 and str3, and print the result

printf("%d\n", strcmp(str1, str3));

return 0;

}


Output

0

-4