использовать одинарные кавычки
str[ i ] = ' ';
В C ++ токен "" - это строковый литерал, представляющий массив из двух символов: значение пробела в наборе символов (например, значение 32 в ascii) и ноль. С другой стороны, токен '' представляет один символ со значением пробела (обычно 32). Обратите внимание, что в C токен '' представляет целое число со значением пробела. (В C sizeof ('') == sizeof (int), а в C ++ sizeof ('') == 1.)