From 1fd0dce8d72c4d5869ce5ff4025ac09af603bc0f Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Wed, 19 Apr 2017 14:57:49 +0530 Subject: Merged Shamik's work --- src/c/string/convstr/gconvstrs.c | 19 ++++++++++-- src/c/string/includes/convstr.h | 4 +-- src/c/string/includes/strrchr.h | 26 ++++++++++++++++ src/c/string/includes/strrev.h | 27 ++++++++++++++++ src/c/string/includes/strsubst.h | 27 ++++++++++++++++ src/c/string/interfaces/int_convstr.h | 6 ++-- src/c/string/interfaces/int_strrchr.h | 25 +++++++++++++++ src/c/string/interfaces/int_strrev.h | 25 +++++++++++++++ src/c/string/interfaces/int_strsubst.h | 28 +++++++++++++++++ src/c/string/strrchr/gstrrchra.c | 21 +++++++++++++ src/c/string/strrev/gstrreva.c | 15 +++++++++ src/c/string/strsubst/gstrsubsta.c | 57 ++++++++++++++++++++++++++++++++++ 12 files changed, 273 insertions(+), 7 deletions(-) create mode 100644 src/c/string/includes/strrchr.h create mode 100644 src/c/string/includes/strrev.h create mode 100644 src/c/string/includes/strsubst.h create mode 100644 src/c/string/interfaces/int_strrchr.h create mode 100644 src/c/string/interfaces/int_strrev.h create mode 100644 src/c/string/interfaces/int_strsubst.h create mode 100644 src/c/string/strrchr/gstrrchra.c create mode 100644 src/c/string/strrev/gstrreva.c create mode 100644 src/c/string/strsubst/gstrsubsta.c (limited to 'src/c/string') diff --git a/src/c/string/convstr/gconvstrs.c b/src/c/string/convstr/gconvstrs.c index d417496..3db7663 100644 --- a/src/c/string/convstr/gconvstrs.c +++ b/src/c/string/convstr/gconvstrs.c @@ -1,7 +1,20 @@ #include #include "convstr.h" -int gconvstrs(int* in) +void gconvstrs(char* in, int size,char* flag,int size2,char* out) { - return (toupper(in)); -} \ No newline at end of file + int i=0;//temp=0; + for(i=0;i +#include +#include "strrchr.h" + +void gstrrchra(char* str,int size,char* key,int size2,char* out) +{ + int i,j, k=0, pos2; + + for (i = 0;i +#include "strrev.h" + +void gstrreva(char* str,int size,char* out) +{ + int i=-1,j=0; + + while(str[++i]!='\0'); + + while(i>=0) + out[j++] = str[--i]; + + out[j]='\0'; + +} diff --git a/src/c/string/strsubst/gstrsubsta.c b/src/c/string/strsubst/gstrsubsta.c new file mode 100644 index 0000000..69ebf3c --- /dev/null +++ b/src/c/string/strsubst/gstrsubsta.c @@ -0,0 +1,57 @@ +#include +#include +#include "strsubst.h" + +void gstrsubsta(char* str,int size, char* search, int size2, char* rep, int size3, char* flagmain, int size4, char* out) +{ + int i = 0, j = 0, flag = 0, start = 0; + + //if(flagmain[0]!='r') + //{ + while (str[i] != '\0') + { + if (str[i] == search[j]) + { + if (!flag) + start = i; + j++; + if (search[j] == '\0') + break; + flag = 1; + } + else + { + flag = start = j = 0; + } + i++; + } + + if (search[j] == '\0' && flag) + { + for (i = 0; i < start; i++) + out[i] = str[i]; + /* rep string with another string */ + for (j = 0; j < strlen(rep); j++) + { + out[i] = rep[j]; + i++; + } + + /* copy remaining portion of the input string "str" */ + for (j = start + strlen(search); j < strlen(str); j++) + { + out[i] = str[j]; + i++; + } + + /* print the out string */ + out[i] = '\0'; + //printf("Output: %s\n", out); + } + else + { + printf("%s is not a searching of %s\n", search, str); + } + // } + +} -- cgit