StrDeleteRange
- Macro
- August 22, 2025
Table of Contents
StrDeleteRange
StrDeleteRange
Description
Delete chars in given range [start, start + count)
Parameters
Name | Direction | Description |
---|---|---|
str | in,out | Str to delete a sequence of characters from. |
start | in | Starting index to start deleting from. |
count | in | Number of characters to be deleted (including the starting index). |
Success
return
Failure
Does not return
Usage example (Cross-references)
- In
Str.c:232
:
while (i + match_len <= s->length && replaced < count) {
if (MemCompare(s->data + i, match, match_len) == 0) {
StrDeleteRange(s, i, match_len);
StrInsertCstr(s, replacement, i, replacement_len);
i += replacement_len;
- In
Str.Remove.c:164
:
// Test StrDeleteRange function
bool test_str_delete_range(void) {
printf("Testing StrDeleteRange\n");
Str s = StrInitFromZstr("Hello World");
- In
Str.Remove.c:169
:
// Delete a range of characters
StrDeleteRange(&s, 5, 6);
// Check that the characters were deleted
- In
Str.Remove.c:175
:
// Delete another range
StrDeleteRange(&s, 2, 2);
// Check that the characters were deleted
// This will make the higher indices invalid
if (idx == 3) {
StrDeleteRange(&s, 0, 6); // Remove first 6 characters
printf(
"Deleted first 6 characters, new length=%zu, but range iteration will continue to idx %zu...\n",
// When we reach idx=8, delete several characters
if (idx == 8) {
StrDeleteRange(&s, 0, 20); // Remove first 20 characters
printf(
"Deleted first 20 characters, new length=%zu, but range ptr iteration continues to idx %zu...\n",