summaryrefslogtreecommitdiffhomepage
path: root/examples/sview_split.c
blob: 0db175ce839aee1fce89c3ce326f9750f1e865da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stc/cstr.h>
#include <stc/csview.h>

int  main()
{
    // No memory allocations or string length calculations!
    const csview date = c_sv("2021/03/12");
    size_t pos = 0;
    const csview year = csview_token(date, c_sv("/"), &pos);
    const csview month = csview_token(date, c_sv("/"), &pos);
    const csview day = csview_token(date, c_sv("/"), &pos);

    printf(c_PRIsv ", " c_PRIsv ", " c_PRIsv "\n", 
           c_ARGsv(year), c_ARGsv(month), c_ARGsv(day));

    c_auto (cstr, y, m, d) {
        y = cstr_from_sv(year), m = cstr_from_sv(month), d = cstr_from_sv(day);
        printf("%s, %s, %s\n", y.str, m.str, d.str);
    }
}