Entfernen der Satzzeichen aus string Zeichen

Es ist eine übung in dem Buch C++ Primer (Nummer 3.2.3), die fragt:

Schreiben Sie ein Programm, das liest einen string von Zeichen, einschließlich Satzzeichen und schreibt, was gelesen wurde, aber mit den Satzzeichen entfernt.

Habe ich versucht, es zu lösen, aber bekam eine Fehlermeldung:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;
    cin >> "Enter a sentence :" >> s >> endl;
    for (auto c : s)
         if (ispunct(c))
            remove punct;
        cout << s << endl;


    }
  • ... und was genau ist der Fehler???
  • Sollten Sie Klammern verwenden um Ihre if und for Anweisungen, um Mehrdeutigkeiten zu vermeiden. Auch remove punct keinen Sinn macht.
  • Wie man sehen konnte, ist die Frage nicht erforderlich, dass Sie das Ergebnis speichern. Sie durchqueren jedes Zeichen, eins nach dem anderen, warum nicht einfach schreiben, das jeder Charakter eine nach der anderen, wenn es nicht ein Satzzeichen?
  • error: cannot bind 'std::istream {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&'|
  • können Sie bitte geben Sie die Lösung ?
  • Gehen Sie nicht etwas zu lernen, wenn jemand nur die Hände, die Sie der Lösung. Sie werden wahrscheinlich wollen, um die Verwendung std::getline statt von streaming-Daten über operator>>.
  • Ich bin Programmierung in C++11 , also ich glaube nicht, dass es notwendig ist, zu verwenden std::getline
  • "Ich glaube nicht" - die berühmten letzten Worte.
  • Wenn jemand Sie gebeten, zu schreiben, ein Wort-Prozessor...würden Sie denken, einen traditionellen compiler in der Lage sein zu verstehen, ein Programm wie while (Benutzer-input) { Prozess den Worten; }? Vielleicht die gleichen von Google und Siri haben Sie den Eindruck gegeben, dass Sie können schreiben Sie einfach entfernen punct; oder entfernen punct, wenn (es ist entweder ein Punkt oder ein Komma);. Aber setzen Sie Klammern, nach einem if nicht wie von Zauberhand Ihnen erlauben, zu schreiben, was Sie wollen, wie eine Bedingung, noch setzen Sie ein Semikolon am Ende einer Zeile der text make it "- code". Die Sprache hat Regeln. Das Buch ist für das lernen von Ihnen!

Schreibe einen Kommentar