C Language
String Manipulation
String manipulation in C refers to the process of working with strings, which are sequences of characters, in various ways to achieve specific tasks. C does not have built-in string data types like some higher-level programming languages, but it provides a set of functions and libraries for working with character arrays to manipulate strings. Let's describe some commonly used built-in functions in string manipulation in C:
strcpy
The 'strcpy' is a standard library function in C that stands for "string copy." It is used to copy the contents of one string (character array) into another.
Here's the syntax & programming example for 'strcpy':
strcpy(char destination, char source);
#include <stdio.h> #include <string.h> int main() { char source[] = "Hello, World!"; char destination[20]; // Copy the content of source to destination strcpy(destination, source); printf("Source: %s\n", source); printf("Destination: %s\n", destination); return 0; }
Source: Copy, strings! Destination: Copy, strings!
* It's important to ensure that the destination string has enough space to accommodate the copied content to avoid buffer overflows and undefined behavior.
strcat
The 'strcat' is a standard library function in the C programming language that is used to concatenate (join) two strings together. The name 'strcat' stands for "string concatenate." It is part of the C Standard Library and is declared in the <string.h> header file.
Here's the syntax & programming example for 'strcat':
strcat(char destination, char source);
#include <stdio.h> #include <string.h> int main() { char destination[]="Join, "; char source[] = "Strings!"; strcat(destination, source); printf("Concatenated string: %s\n", destination); return 0; }
Concatenated string: Join, Strings!
* It's important to ensure that the destination string has enough space to accommodate the concatenated result to prevent buffer overflows.
strlen
The name 'strlen' stands for "string length", and it's a standard library function in the C programming language that is used to determine the length (number of characters) of a null-terminated string.
Here's the syntax & programming example for 'strlen':
strlen(char str);
#include <stdio.h> #include <string.h> int main() { const char str[] = "What is my length?"; int length = strlen(str); printf("Length of the string: %d\n", length); return 0; }
Length of the string: 18
const: Used to declare a constant, which is essentially a variable whose value cannot be changed after it is initially assigned.
strcmp
The 'strcmp' stands for "string compare", and it's a standard library function that is used to compare two null-terminated strings.
Here's the syntax & programming example for 'strcmp':
strcmp(char str1, char str2);
#include <stdio.h> #include <string.h> int main() { char str1[] = "Ayan"; char str2[] = "Ayana"; if (strcmp(str1, str2)==0) { printf("Both strings are same."); } else { printf("Both strings are not same."); } return 0; }
Both strings are not same.
* The 'strcmp' function returns an integer value that indicates whether the strings are equal, and if not, how they differ.
int val = strcmp(str1, str2);
strstr
The 'strstr' is a standard library function that is used to find the first occurrence of a substring (a sequence of characters) within a larger string.
Here's the syntax & programming example for 'strstr':
strstr(char data, char find);
#include <stdio.h> #include <string.h> int main() { char data[] = "www.techbaz.org"; char find[] = "techbaz"; if (strstr(data, find)) { printf("String Found."); } else { printf("String Not Found."); } return 0; }
String Found.
* Keep in mind that 'strstr' is case-sensitive.
strtok
The 'strtok' function is used to tokenize (split) a string into smaller tokens based on a specified set of delimiter characters.
Here's the syntax & programming example for 'strtok':
strtok(char str, char delimiter);
#include <stdio.h> #include <string.h> int main() { char input[] = "Desktop,Laptop,Mobile"; const char *delimiter = ","; // Tokenize the input string using strtok char *token = strtok(input, delimiter); while (token != NULL) { printf("Token: %s\n", token); token = strtok(NULL, delimiter); } return 0; }
Token: Desktop Token: Laptop Token: Mobile
* Be cautious when using 'strtok' in a multithreaded environment, as it is not thread-safe.
What's Next?
We've now entered the finance section on this platform, where you can enhance your financial literacy.