I want to input a few strings then two integers. Whilst the strings are separated by '|', the integers are kept apart by a '.'. 

Looking around online I have seen some sort of syntax which involves `[^]`. I am using this but it is not working at all. Can someone please point out what I should be doing and why what I am doing is wrong?

```
sscanf(str, "%s[^|],%s[^|],%s[^|],%i[^|],%i[^.]", …);

```