How to get Substring before Specific Character in C - Step by Step Examples
How to get Substring before Specific Character in C ?
Answer
To get the substring before a specific character in C, you can use the strncpy
function from the string.h
library.
✐ Examples
1 Get Substring Before Specific Character
In this example,
- We include the necessary header
stdio.h
for standard input/output functions andstring.h
for string handling functions. - We create a character array named
str
with a string value and a character variablech
representing the specific character. - We use the
strchr
function to find the first occurrence ofch
instr
and store the pointer to this position. - If the character is found, we calculate the length of the substring before
ch
. - We use the
strncpy
function to copy the substring to a new character array namedsubstr
. - We ensure that the copied substring is null-terminated.
- Finally, we print the substring to standard output.
C Program
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world, how are you?";
char ch = ',';
char *pos = strchr(str, ch);
if (pos != NULL) {
int len = pos - str;
char substr[len + 1];
strncpy(substr, str, len);
substr[len] = '\0';
printf("%s\n", substr);
} else {
printf("Character not found in the string.\n");
}
return 0;
}
Output
hello world
2 Get Substring Before Specific Character in a Different String
In this example,
- We include the necessary header
stdio.h
for standard input/output functions andstring.h
for string handling functions. - We create a character array named
str
with a different string value and a character variablech
representing the specific character. - We use the
strchr
function to find the first occurrence ofch
instr
and store the pointer to this position. - If the character is found, we calculate the length of the substring before
ch
. - We use the
strncpy
function to copy the substring to a new character array namedsubstr
. - We ensure that the copied substring is null-terminated.
- Finally, we print the substring to standard output.
C Program
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "user@example.com";
char ch = '@';
char *pos = strchr(str, ch);
if (pos != NULL) {
int len = pos - str;
char substr[len + 1];
strncpy(substr, str, len);
substr[len] = '\0';
printf("%s\n", substr);
} else {
printf("Character not found in the string.\n");
}
return 0;
}
Output
user
Summary
In this tutorial, we learned How to get Substring before Specific Character in C language with well detailed examples.
More C Strings Tutorials
- How to Create an Empty String in C ?
- How to get Length of String in C ?
- How to get Character at Specific Index in String in C ?
- How to get First Character in String in C ?
- How to get Last Character in String in C ?
- How to get First N Characters in String in C ?
- How to get Last N Characters in String in C ?
- How to get Substring after Specific Character in C ?
- How to get Substring before Specific Character in C ?
- How to get Substring between two Specific Characters in C ?
- How to get Substring from Specific Index to End in C ?
- How to Iterate over Characters in String in C ?
- How to Iterate over Words in String in C ?
- How to Check if String is Empty in C ?
- How to Check if String contains only Alphabets in C ?
- How to Check if String contains only Alphabets and Numbers in C ?
- How to Check if String contains only Numeric Digits in C ?
- How to Check if a String contains given Substring in C ?
- How to Check if String contains specific Character in C ?
- How to Check if String starts with Specific Prefix in C ?
- How to Check if String ends with Specific Suffix in C ?
- How to Append a String to another String in C ?
- How to Append a Character to beginning of a String in C ?
- How to Append a Character to end of a String in C ?
- How to Concatenate Two Strings in C ?
- How to Repeat a String N Times in C ?
- How to Insert Character at Specific Index in String in C ?
- How to Replace a Substring in String in C ?
- How to Replace Character at Specific Index in String in C ?
- How to Replace All Occurrences of a Substring in a String in C ?
- How to Replace a Substring in a String using Regular Expression in C ?
- How to Split a String in C ?
- How to Split a String by New Line in C ?
- How to Split a String by Comma in C ?
- How to Sort Characters in String in C ?
- How to convert String to Lowercase in C ?
- How to convert String to Uppercase in C ?
- How to Trim a String in C ?
- How to convert First Character in String to Uppercase in C ?
- How to Reverse a String in C ?
- How to Remove Character at specific Index in a String in C ?
- How to Remove First Character in a String in C ?
- How to Remove Last Character in a String in C ?
- How to Remove first N Characters in a String in C ?
- How to Remove last N Characters in a String in C ?
- How to Remove specific Substring in C ?
- How to Remove specific Character from a String in C ?
- How to Remove All Whitespace Characters from a String in C ?
- How to Remove Special Characters from a String in C ?
- How to keep only Alphabets in a String in C ?
- How to Convert Integer to String in C ?
- How to Convert String to Integer in C ?
- How to convert String to Float in C ?
- How to convert Float to String in C ?
- How to check if Two Strings are Equal in C ?
- How to check if Two Strings are Equal ignoring case in C ?
- How to Compare Two Strings in C ?
- How to find the Characters in the First String that are not Present in the Second String in C ?
- How to find the Index of Substring in C ?
- How to find the Index of Last Occurrence of Substring in C ?
- How to find the Indices of All Occurrences of Substring in C ?
- How to get all the possible Substrings of a String in C ?
- How to get all the possible K length Substrings in a String in C ?