从句子中删除给定字符的C ++程序不起作用

时间:2019-11-09 13:00:06

标签: c++ char

该程序只删除第一个单词中的字符,而不是所有句子中的字符。 我该如何解决?我需要删除句子中的所有字符,而不仅仅是第一世界。 谢谢。

#include <iostream>
#include <string>
#include <algorithm>

int main()
{
    std::string s;
    char c;

    std::cout << "Enter the string : ";
    std::cin >> s;
    std::cout << "\nEnter the character : ";
    std::cin >> c;
    /* Removing character c from s */
    s.erase(std::remove(s.begin(), s.end(), c), s.end());
    std::cout << "\nString after removing the character "
              << c << " : " << s;
}

1 个答案:

答案 0 :(得分:0)

您没有读完整的句子。您可以使用getline

std::cout << "Enter the string : ";
std::getline(std::cin, s);

Godbolt上直播