Skip to content
StrDeleteRange

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)

Usage examples (Cross-references)
                    size_t start = extract_u16(data, offset, size) % VecLen(str);
                    size_t count = extract_u16(data, offset, size) % (VecLen(str) - start + 1);
                    StrDeleteRange(str, start, count);
                }
                break;
        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;
            // This will make the higher indices invalid
            if (idx == 3) {
                StrDeleteRange(&s, 0, 6); // Remove first 6 characters
                WriteFmt("Deleted first 6 characters, new length={}, idx={}...\n", s.length, idx);
            }
            // When we reach idx=8, delete several characters
            if (idx == 8) {
                StrDeleteRange(&s, 0, 20); // Remove first 20 characters
                WriteFmt("Deleted first 20 characters, new length={}, idx = {}...\n", s.length, idx);
            }
    // Test StrDeleteRange function
    bool test_str_delete_range(void) {
        WriteFmt("Testing StrDeleteRange\n");
    
        Str s = StrInitFromZstr("Hello World");
    
        // Delete a range of characters
        StrDeleteRange(&s, 5, 6);
    
        // Check that the characters were deleted
    
        // Delete another range
        StrDeleteRange(&s, 2, 2);
    
        // Check that the characters were deleted
Last updated on