Removendo tudo depois do personagem (e também personagem)

Eu tenho uma string como esta:

<code>std::string string1 = "xjdfhfakdjs%54k34k.-jk34";
</code>

Eu preciso obter apenas "" xjdfhfakdjs ", mas a string é dinâmica, não codificada, então eu não sei o que é, o comprimento, etc, então eu queria remover tudo depois de%, e também o% char.

Como eu pude fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion