summaryrefslogtreecommitdiffhomepage
path: root/misc/examples/strings/utf8replace_c.c
blob: 1d54486fa2b789297693970305bab10098f69df0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define i_implement
#include <stc/cstr.h>

int main(void)
{
    cstr hello = cstr_lit("hell😀 w😀rld");
    printf("%s\n", cstr_str(&hello));

    /* replace second smiley at utf8 codepoint pos 7 */
    cstr_u8_replace_at(&hello, 
                        cstr_u8_to_pos(&hello, 7),
                        1,
                        c_sv("🐨")
    );
    printf("%s\n", cstr_str(&hello));

    c_foreach (c, cstr, hello)
        printf("%.*s,", c_SV(c.u8.chr));
    
    cstr str = cstr_lit("scooby, dooby doo");
    cstr_replace(&str, "oo", "00");
    printf("\n%s\n", cstr_str(&str));

    c_drop(cstr, &hello, &str);
}