tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Steiner_B
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
197
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ThorThor ThorThor ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    NRW
    Beiträge
    10
    Wie im Titel beschrieben habe ich Probleme damit Textdateien zu verarbeiten.
    Damit sind jetzt nicht Textdateien im allgemein gemeint sondern ich schaffe es nicht
    die *.txt Datei so zu verarbeiten dass einzelne Wörter denn Verlauf des Programms verändern können.

    Das Problem genau ist es das ich es nicht schaffe die Datei einzulesen und die einzelnen Wörter rauszusuchen.

    Ich habe es mit der getline() Funktion ausprobiert und versucht die Daten in einem String
    einem String-array und einem Char array zu speichern aber ich schaffe es nicht :S

    Ich hoffe ihr habt da ein paar tipps
     

  2. #2
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Poste mal was von deinem Code und welches Problem du genau dabei hast, dann helfen wir dir den Fehler zu finden.
     

  3. #3
    ThorThor ThorThor ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    NRW
    Beiträge
    10
    Der Code den ich bisher habe:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    #include <iostream>
    #include <fstream>
     
    using namespace std;
     
    int main()
    {
        ifstream TEXT("Text.txt");
        string text;
     
        getline(TEXT, text);
     
        char* s = const_cast<char*>(text.c_str());
     
        int x = text.length();
     
        for(int a = 0; a < x; a++)
        {
            
        }
    }

    Das Programm schafft es bisher die erste Zeile des Programms zu laden und auszugeben.
    Ich habe das mit einem c-String gemacht, weil ich mir dachte so könnte man auch gut auf einzelne Buchstaben bzw. Wörter bis zu einem bestimmten Zeichen be-/verarbeiten kann.

    Nur habe ich das Problem, dass immer wenn ich versuche zu überprüfen ob das Zeichen mit einem Vorgegebenem übereinstimmt das man keinen Pointer mit einem Integer Vergleichen kann.
     

  4. #4
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hallo,

    Das schaut ja eh schon ganz gut aus. Auf C-String casten sollte eigentlich nicht notwendig sein, weil du mit [] auch auf Zeichen in einem String zugreifen kannst.

    Zum Vergleich: Warum möchtest du mit einem Integer vergleichen, ich dachte du suchst nach Leerzeichen? Ich würd mal so was versuchen, vorausgesetzt du willst wirklich nur nach Leerzeichen trennen:

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    //Filestream öffnen
    ifstream TEXT("Text.txt");
     
    //Feststellen ob das öffnen funktioniert hat
    if (TEXT.good())
    {
        //Die ganze Datei einlesen
        std::string text = std::string(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>());
     
        //Durch den String iterieren
        for (int i = 0; i < text.length(); i++)
        {
            //Überprüfen ob aktuelles Zeichen ein Leerzeichen ist
            if (text[i] == ' ')
            {
                //Leerzeichen gefunden -> neues Wort
            }
        }
    }
    ThorThor bedankt sich. 

  5. #5
    ThorThor ThorThor ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    NRW
    Beiträge
    10
    Vielen Dank fuer die schnelle Hilfe
    Hab jetzt alles was ich fuer die weitere Arbeit
    Also bin ich bald mit der ersten Version fertig
     

Ähnliche Themen

  1. Problem beim Erstellen einer Textdatei
    Von joe81 im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 01.11.10, 07:58
  2. Antworten: 3
    Letzter Beitrag: 15.06.10, 18:44
  3. Antworten: 8
    Letzter Beitrag: 16.12.08, 20:34
  4. Antworten: 3
    Letzter Beitrag: 10.12.08, 12:01
  5. Antworten: 4
    Letzter Beitrag: 03.03.05, 15:39