diff --git a/Stdio/StringRemoveSubstring.c b/Stdio/StringRemoveSubstring.c new file mode 100644 index 0000000..e85636c --- /dev/null +++ b/Stdio/StringRemoveSubstring.c @@ -0,0 +1,27 @@ +PCHAR StringRemoveSubstringA(PCHAR String, CONST PCHAR Substring) +{ + DWORD Length = (DWORD)StringLengthA(Substring); + PCHAR pPointer = String; + + if (Length == 0) + return NULL; + + while ((pPointer = StringFindSubstringA(pPointer, Substring)) != NULL) + MoveMemory(pPointer, pPointer + Length, StringLengthA(pPointer + Length) + 1); + + return String; +} + +PWCHAR StringRemoveSubstringW(PWCHAR String, CONST PWCHAR Substring) +{ + DWORD Length = (DWORD)StringLengthW(Substring); + PWCHAR pPointer = String; + + if (Length == 0) + return NULL; + + while ((pPointer = StringFindSubstringW(pPointer, Substring)) != NULL) + MoveMemory(pPointer, pPointer + Length, StringLengthW(pPointer + Length) + 1); + + return String; +} \ No newline at end of file