неверное преобразование из ‘const char *’ в ‘char’

Я пытаюсь заменить определенный символ в строке пробелом, используя следующую строку кода:

str[i] = " "; 

Как это реализовать, не получив ошибку в названии вопроса?

использовать одинарные кавычки

 str [i] = '';

В C ++ токен “” представляет собой строковый литерал, представляющий массив из двух символов: значение пробела в наборе символов (например, значение 32 в ascii) и ноль. С другой стороны, токен «представляет собой один символ со значением пробела (обычно 32). Обратите внимание, что в C токен ” представляет целое число со значением пробела. (В C, sizeof (”) == sizeof (int), а в C ++ – sizeof (”) == 1.)

Одиночные char получают с одинарными кавычками:

 str[i] = ' '; 

Литерал с двойными кавычками – это полный строковый литерал (массив char с нулевым символом), но вы заменяете только один char .

  • cc1plus: ошибка: непризнанная опция командной строки «-std = c ++ 11» с g ++
  • Что означает «Ошибка: Несовместимые типы: void не может быть преобразован в ...» означает?
  • Не удалось загрузить файл или сборку или одну из ее зависимостей
  • Ошибка Maven: Возможно, вы работаете на JRE, а не в JDK?
  • Перерыв в модуле classа или разрыв по необработанным ошибкам (ошибка проверки ошибок VB6, настройка параметров в среде IDE)
  • Что означает «возможное преобразование с потерями» и как его исправить?
  • c ++ несколько определений переменной
  • Почему этот общий код компилируется в java 8?
  • Множественные подстановочные знаки для общих методов делают Java-компилятор (и меня!) Очень запутанным
  • Ошибка Java: незаконный запуск выражения
  • Разрешить ошибки сборки из-за круговой зависимости между classами
  • Давайте будем гением компьютера.