From 70e260060e89e53da6275891aa4d9fc2c533b2d3 Mon Sep 17 00:00:00 2001 From: vxunderground <57078196+vxunderground@users.noreply.github.com> Date: Thu, 14 Jul 2022 22:27:51 -0500 Subject: [PATCH] Create StringRemoveSubstring.cpp --- String Manipulation/StringRemoveSubstring.cpp | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 String Manipulation/StringRemoveSubstring.cpp diff --git a/String Manipulation/StringRemoveSubstring.cpp b/String Manipulation/StringRemoveSubstring.cpp new file mode 100644 index 0000000..d2482d2 --- /dev/null +++ b/String Manipulation/StringRemoveSubstring.cpp @@ -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) + RfCopyMemory(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) + RfCopyMemory(pPointer, pPointer + Length, StringLengthW(pPointer + Length) + 1); + + return String; +}