sscanf not extracting pattern
c, regex, scanf
Solution
your `sscanf()` string format should be:
sscanf(list, "%*[^(](%d%[^)]" , &memory_size, unit);
- `%[^)]` means catch charachters and stop ctaching when finding the charachter `)` or end of the string
- `%*[^(]` means:
- `[^\(]` means catch charachters and stop ctaching when finding the charachter `(` - as opposed to a more conventional `%s` - catching charachters and stop ctaching when finding space characters"
- `*` means "read but not store"
Problem
I am trying to figure out the pattern I should be giving to sscanf. I have a string abcde(1GB). I want to extract 1 and GB. I am using ``` char list[]= "abcde(1GB)"; int memory_size =0; char unit[3]={0} ; sscanf(list, "%*s%d%s" , &memory_size, unit); ``` I do not see tokens extracted when I print I see memory_size =0 and NULL in unit. Thanks