Почти все реализации std :: strings заканчиваются нулем, поэтому вам, вероятно, не следует этого делать. Обратите внимание, что «a \ 0b» на самом деле имеет длину четыре символа из-за автоматического нулевого терминатора (a, null, b, null). Если вы действительно хотите сделать это и разорвать контракт std :: string, вы можете сделать:
std::string s("aab");
s.at(1) = '\0';
но если вы это сделаете, все ваши друзья будут смеяться над вами, вы никогда не найдете истинного счастья.