The elements that make up that string are either '0' or '1' (as char variables).
The expression c != '0' initially yields a boolean answer (true or false). This is then implicitly cast to an integer (since that is the declared type of the elements of vector V - it is what you asked for), with false becoming 0 and true becoming 1.
c != 0 is an expression that evaluates to 1 (true) if c is not '0' and to 0 (false) if c is '0'. Therefore it turns the character code of c into an integer representing the value of the given binary digit character.
Alternatively, you could say c - '0' to get the same effect (and it works to get the value for any decimal digit character).