Announcement

Collapse
No announcement yet.

.txt in array speichern mit Leerzeichen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • .txt in array speichern mit Leerzeichen

    Ich habe folgendes Problem. Google und ein anderes Forum konnten mir nicht weiter helfen.

    Ich habe eine .txt Datei in welcher Zahlen stehen (hier nur ein Beispiel)
    12 45 345 678
    2 67 23 45
    5
    12 345 45
    123 45 6 78

    Diese Zahlen will ich in einem Array speichern. Am Ende soll dann das Array so aussehen:

    array [1;2;" ";4;5;" ";3;4;5;...]

    Wichtig ist das die Leerzeichen mitgenommen werden denn ich will danach die Zahlen auswerten und die Stelle der Zahl ist entscheident.

    Ich programmiere mit C++ (durch die Schule gezwungen, davor immer mit Java) und habe noch nicht so viel Ahnung.

  • #2
    Es ist einfacher statt mit einem Array mit der TStringList zu arbeiten
    http://www.marquardtnet.info/cecke/q...quicky_58.html

    Um nun die Zahlen ist diese Liste zu bekommen kannst du ebenfalls eine TStringlist benutzen. Mit der Methode LoadFromFile lädst du die komplette Datei in eine TStringList. Jede Zeile der Datei entspricht dann einer Zeile in der Datei. Nun fügst du alle einzelnen Zeilen der TStringlist zu einem einzigen String zusammen (Methode TEXT). Diesen String gehtst du nun Zeichen für Zeichen durch und fügst jedes einzelne der TStringlist hinzu, die dann das Ergebnis darstellt
    Zuletzt editiert von Christian Marquardt; 02.11.2012, 17:03.
    Christian

    Comment


    • #3
      Okay danke jetzt versteh ich schon mal ein bisschen mehr. nun so richtig blick ich mit der TStringList nicht durch. Also wie ich jetzt die Zahlen da heraus bekomme. Warum geht das nciht einfach in einem Array. Da kenne ich mich wenigstens aus.

      Mein Programm sah bis jetzt so aus


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

      char array[200];
      ifstream datei;

      datei.open("test.txt");
      for (int i=0;i<199;i++){
      datei>>array[i];
      }


      das hat auch super funktioniert nur das eben die leerzeichen nicht eingelesen werden.

      Comment


      • #4
        Weil es mit der TStringlist einfacher wäre...

        Der Operator >> liest formatierte Werte. Du musst entweder Bytes lesen oder das richtige Formatflag setzen

        http://www.cplusplus.com/reference/i...base/fmtflags/
        Christian

        Comment


        • #5
          Ich habe keine Ahnung was eine Formatflag ist.
          Wie würde denn mein Programm aussehen wenn ich mit dieser TStringList arbeiten würde?

          datei.open("test.txt");
          for (int i=0;i<199;i++){
          datei>>array[i];
          }

          sizex=(StrToInt(array[0]))*10+StrToInt(array[1]);
          sizey=(StrToInt(array[2]))*10+StrToInt(array[3]);
          posx=(StrToInt(array[4]))*10+StrToInt(array[5]);
          posy=(StrToInt(array[6]))*10+StrToInt(array[7]);

          so sieht mein Programm aus und so müsste es auch weiter gehen. Ich will die Variablen immer so weiter füllen und mit arrays komme ich da ziemlich gut klar weil einem in der Schule auch nciths andere beigebracht wird

          Comment


          • #6
            Wie würde denn mein Programm aussehen wenn ich mit dieser TStringList arbeiten würde?
            Was soll man dazu sagen?

            Siehe die Erklärungsseite
            Christian

            Comment


            • #7
              Okay ich hab keine Ahnung wie ich das schreiben soll. Aber geht das nciht irgendwie mit arrays. Was kann ich denn an meinem Programm umschreiben damit das klappt. Die grundstruktur exsistiert doch schon.

              Comment


              • #8
                Ich würde dir das ja gerne schreiben, aber ich kann mir den C++Builder nicht mehr leisten 500 EUR für ein Update mache ich nicht mit. Insofern kann ich dir nur theoretisch helfen. Privat mach ich das jetzt mit Java.
                Das sollte dir helfen können

                http://www.cplusplus.com/doc/tutorial/files/

                http://www.willemer.de/informatik/cpp/fileop.htm
                Christian

                Comment

                Working...
                X