Skip to content

Instantly share code, notes, and snippets.

@annibuliful
Created April 27, 2018 14:18
Show Gist options
  • Save annibuliful/6da193d8052ffeec5f6b315e654af741 to your computer and use it in GitHub Desktop.
Save annibuliful/6da193d8052ffeec5f6b315e654af741 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <string.h>
int * findIndexOfString(char stringofData[], char stringToFind[]) {
static int indexOfString[2];
int i, j;
int loopCounter = strlen(stringofData) - strlen(stringToFind);
for (i = 0; i < strlen(stringofData); i++) {
for (j = 0; j < strlen(stringToFind); j++) {
if ((char) stringofData[i] == (char) stringToFind[j]) {
if (j == 0) {
indexOfString[0] = i;
} else if (j == ((int)strlen(stringToFind) - 1)) {
indexOfString[1] = indexOfString[0] + j;
}
continue;
}
}
}
return indexOfString;
}
void splitString(char string[] , int start , int end){
char returnString[100];
int i;
for(i = start; i < end ; i++){
returnString[i] = string[i];
printf("%c" , string[i]);
}
}
void replaceString(char oldString[] , char newString[] , int *a){
int i ;
if(a[1] != 0){
splitString(oldString , 0 , a[0]);
for(i = 0 ; i < strlen(newString) ; i++){
printf("%c" , newString[i]);
}
splitString(oldString , a[1] + 1 , strlen(oldString));
}
}
int main() {
int i;
char fullString[100];
char patternToFind[100];
char stringToReplace[100];
printf("Enter a string: ");
scanf("%[^\n]%*c" ,fullString);
printf("Enter old string: ");
scanf("%[^\n]%*c" ,patternToFind);
printf("Enter new string: ");
scanf("%[^\n]%*c" ,stringToReplace);
int *indexOfPatternString;
indexOfPatternString = findIndexOfString(fullString, patternToFind);
replaceString(fullString , stringToReplace , indexOfPatternString);
return 0 ;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment