Wörter in Buchstaben aufspalten



  • Hallo Leute, ich möchte Wörter oder ganze Texte aus einer Datei holen (erstmal unwichtig) und dann Buchstabe für Buchstabe aus der Kette auslesen.
    Hat da jemand ne Idee?? Es söll möglichst leicht gehen. Danke



  • ich versteh dein Problem jetzt nicht.

    Dateien in C++

    dann kannst du eben auch Zeichenweise lesen ansonsten kannst du ja über den []-Operator bei sowohl C-Strings als auch bei der C++-String-Klasse einzelne Zeichen lesen.



  • Das Programm soll einen Text verschlüsseln. Dazu soll es den Text Buchstabe für Buchstabe aufspalten und ins Geheimalphabet übersetzen. Vorher die Zeichen zählen, damit ich ne for-Schleife machen kann.



  • Hallo,

    dazu nimmst du am besten std::string. Angenommen, du hast eine C-Zeichenkette:

    std::string text(text_array);
    size_t anzahlBuchstaben = text.size();
    for(size_t i = 0; i < anzahlBuchstaben; ++i)
      //tue was mittels text[i]
    
    //oder
    std::string::iterator it = text.begin(), end = text.end();
    while(it != end)
      //tue was mit it (zugriff ueber *it)
    

    Wenn der Text in einer Datei steht, musst du diese logischwerweise erst einmal
    einlesen:

    std::ifstream fileIn("xyz");
    std::vector<std::string> fileContent;
       if(fileIn) {
            std::vector<std::string> currentLine;
            while(getline(currentLine, fileIn))
                fileContent.push_back(currentLine);
       }
    //zugriff auf die einzelnen zeilen ueber fileContent[x]
    //zugriff auf die einzelnen buchstaben in einer zeile ueber fileContent[x][y]
    //iterator bekommst du so:
    for(size_t i = 0; i < fileContent.size(); ++i) {
        std::string::iterator it = fileContent[x].begin(), end = fileContent[x].end;
            while(it != end)
                //tue was mit it
    }
    

    Natuerlich kannst du auch auf die vector-Elemente mittels des geeigneten
    Iterator zugreifen. Aber das herauszufinden ueberlasse ich einmal deinen
    Ueberlegungen. Sollte jetzt allerdings nicht allzu schwer sein, das
    hinzubekommen.

    mfg
    v R



  • meisterB schrieb:

    Das Programm soll einen Text verschlüsseln. Dazu soll es den Text Buchstabe für Buchstabe aufspalten und ins Geheimalphabet übersetzen. Vorher die Zeichen zählen, damit ich ne for-Schleife machen kann.

    Ich versteh das auch nicht. Warum machst du deine schleife nicht bis eof ?
    Einfach zeichen für zeichen aus der Datei lesen und umwandeln, fertig.



  • Ich versteh das auch nicht. Warum machst du deine schleife nicht bis eof ?
    Einfach zeichen für zeichen aus der Datei lesen und umwandeln, fertig.

    Da werden doch Leerzeichen als Ende interpretiert, oder??? Dann hätte sich das erledigt! 😃



  • Also es wäre mir neu dass Leerzeichen als Ende der Datei interpretiert werden.



  • nur das zeichen \0 wird als endzeichen interpretiert


Anmelden zum Antworten