Position innerhalb einer Datei

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Position innerhalb einer Datei

    hallo alle, vielleicht könnt ihr mir helfen. ich suche nach einer möglichst eleganten methode in c eine datei auf jeweils das erste zeichen zu prüfen, also jeweils nach dem \n zeichen. gibt es da irgendeine möglichst effektive methode, ausser zeile für zeile auf das newline zeichen zu prüfen, um das hinzukriegen ?

    also hier mal ein beispiel wie meine datei aussieht, ist ne ganz normale txt datei:

    Quellcode

    1. A a 4 A
    2. a a 4 A
    3. E 3 e E
    4. e 3 e E


    wie schaffe ich es jetzt von dem ersten Zeichen 'A' herunterzuspringen, möglichst direkt halt, zu diesem 'a', und von dort wieder zum 'E' und dann zum 'e' um diese zeichen zu prüfen.

    wie gesagt die methode auf prüfung des \n zeichens würde ich hinkriegen. auch so zeugs wie die ganze zeile jeweils einlesen. aber das ist mir alles zuviel. ich möchte es halt möglichst schlank wenn ihr wisst was ich meine hrhr 8o

    wäre schön wenn mir jemand ne möglichst gute methode zeigt. im prinzip ist es ja dasselbe wie in notepad was ich will, wenn man den pfeil nachunten drückt.

    gruß

    qualmi
  • Hast du was bestimmtes damit vor oder wie darf man sich das vorstellen?
    Weil wenns ja nur das ist, würd ne Struktur oder so machen mit nem array für jeweilige zahlen und so kannst dann aus der txt datei die einzelnen zeilen einlesen..

    gruß aalon
  • nun ja wenn ich nicht genau weiß was du vorhast kann ich dir auch nur soviel sagen wie ich mir es so denke

    Quellcode

    1. #inlcude <iostream>
    2. using namspace std;
    3. struct Zeile
    4. {
    5. char Einlesen[1000]; //max 1000 zeichen pro zeile von der einzulesenen txt datei
    6. };
    7. int main()
    8. {
    9. Zeile Zeilen[500];
    10. //hier muss noch das einlesen rein..
    11. return 0;
    12. }
    Alles anzeigen


    bis jetzt ja nur pseudo code :D
    wenn du nach bestimmten zeichen runter willst, musst den index dann erhöhen, musste mit if abfragen..

    mehr kann ich dir jetzt nicht direkt sagen hoffe das hilft irgendwie ka :D:D
  • Mir ist da eine Idee eingefallen.

    Du könntest dies ja in einem Zweidimensionalen Array machen

    // X Y Achse
    char Text[4][4] musst natürlich die größe so Definieren wie du sie brauchst

    kannst dir das dann in einem Koordinaten System einfach denken und somit in das Array eintragen.


    A a 4 A
    a a 4 A
    E 3 e E
    e 3 e E

    Ich würde von unten links Anfangen


    | A=[0][3] a=[1][3] 4=[2][3] A=[3][3]
    |
    | a=[0][2] a=[1][2] 4=[2][] A=[3][2]
    |
    | E=[0][1] 3=[1][1] e=[2][1] E=[3][1]
    |
    | e=[0][0] 3=[1][0] e=[2][0] E=[3][0]
    |--------------------------------------------------------------------

    Ich weiß leider ja nicht genau was du vorhast

    Ich hoffe nur das dir das weiterhilft =):)

    Gruß Aalon
  • hehe ja :D

    dieses A a 4 A steht in einer txt file und hatte mir überlegt dass ich das nur mit operationen auf der txt file mache, also keinen weiteren speicher anlege. glaub das gibt ne bessere performance da mit deiner methode ich erstmal die txt file durchgehen muss, sprich jeden biuchstaben mind einmal mehr anfassen muss als wenn ich nur mit der txt file arbeite.

    is aber schon etwas länger her :)